Я использую следующую команду для зеркалирования веб-сайта https:
wget --directory-prefix=/tmp/mirror --mirror --no-host-directories \
--regex-type pcre --reject-regex "$SKIP_REGEXP" \
--convert-links --adjust-extension --header "Accept-Language: en-US,en" \
--header "X-Build-Mirror: True" -o /tmp/mirror.log https://logic.ff.cuni.cz
(На самом деле, команда выполняется в одну строку - я разбил ее на несколько строк для улучшения читаемости.)
Согласно документации флага --convert-links
, ссылки на загруженные файлы преобразуются в относительные ссылки для локального просмотра, а ссылки на файлы, которые не загружаются (например, из-за --reject-regexp
), преобразуются в абсолютные ссылки. Однако при преобразовании, хотя URL-адрес хоста является URL-адресом https , все абсолютные ссылки становятся ссылками http !
Это ошибка в wget
или есть какой-то способ заставить его соблюдать тип протокола? (Я знаю, что могу использовать флаг --https-only
, но это предотвратит получение любого http-ресурса.)