wget — руководство GNU Wget
GNU Wget НАЗВАНИЕ
wget -- Руководство GNU Wget
СИНТАКСИС wget [параметры]... [URL]...
ОПИСАНИЕ GNU Wget это открыто распространяемая утилита для загрузки файлов из интернет. Она поддерживает протоколы HTTP, HTTPS, и FTP, загрузку с прокси-серверов по протоколу HTTP. Wget может следовать по ссылкам HTML страниц и создавать локальные копии удалённых web сайтов, возможно полное восстановление структуры каталогов сайта. Это называется "recursive downloading" (рекурсивная загрузка). При выполнении такого задания, Wget ищет файл с правами доступа для роботов (/robots.txt). Возможна также конвертация ссылок в загруженных HTML файлах для просмотра сайта в автономном режиме ("Off-line browsing"). Проверка заголовков файлов. Wget может прочитать заголовок файла, что доступно по протоколамHTTP и FTP и сравнить с заголовком файла, который был загружен ранее, и, если это так, загрузить новую версию файла. Благодаря этому, с Wget возможно зеркальное хранение сайтов и коллекций файлов по FTP. Wget разработан для медленных или нестабильных соединений: если во время загрузки возникнет проблема, Wget будет продолжать пытаться загрузить файл. Если сервер, с которого загружается файл, поддерживает докачку, Wget продолжит загружать файл с того места, где оборвалась загрузка.
OПЦИИ Основные параметры -V --version Отобразить версию Wget. -h --help Отобразить параметры командной строки Wget. -b --background Перейти в фоновый режим после запуска. Если файл для сообщений не указан параметром -o, он записывается в wget-log -e command --execute command Выполнить command как если бы она была частью .wgetrc. Команда будет выполнена после команд в .wgetrc. Параметры сообщений -o logfile --output-file=logfile Записывать все сообщения в logfile. Иначе они будут направлены в stderr. -a logfile --append-output=logfile Дополнить logfile. Как и -o, только logfile не заменяется, а дополняется. Если logfile не существует, создаётся новый файл. -d --debug Отображать сообщения отладки - разная информация, важная для разработчиков Wget. -q --quiet Выключить сообщения Wget. -v --verbose Включить подробные сообщения, со всеми доступными данными. По умолчанию включено. -nv --non-verboseНе подробные сообщения (чтобы выключить сообщения см. -q). Сообщения об ошибках и основная информация будут отображаться. -i file --input-file=file Прочитать URL из file. В этом случае указывать URL в командной строке не требуется. Если URL указаны и в командной строке и в file, сначала будут загружены URL из командной строки. file не обязательно должен иметь формат HTML (но ничего страшного, если это так) -- URL просто должны быть указаны в нём. Если вы укажите --force-html, файл будет прочтён как html. В этом случае могут возникнуть проблемы с относительными ссылками. Это можно предотвратить добавлением в него "<base href="url">" или вводом в командной строке --base=url. -F --force-html При чтении URL из файла, включает чтение файла как HTML. Чтобы предотвратить ошибкам, если файл HTML является локальным, добавьте "<base href="url"> " в файл или введите параметр командной строки --base. -B URL --base=URL При чтении URL из файла (-F), определяет URL, добавляемый к относительным адресам файла, указанного параметром -i. Параметры загрузки --bind-address=ADDRESS При соединениях по протоколам TCP/IP, передаёт "bind()" в ADDRESS на локальной машине. В ADDRESS может быть указано как имя хоста, так и IP адрес. Используется, когда ваш компьютер имеет несколько IP адресов. -t number --tries=number Устанавливает число повторов number. Укажите 0 или inf для бесконечного числа повторов. -O file --output-document=file Документы не будут записываться в соответствующие файлы, а будут соединены вместе и записаны в file. Если file существует, он будет заменён. Если file указан как -, документы будут выводиться в стандартный вывод (stdout). Этот параметр автоматически устанавливает число повторов в 1. Полезен при закачке файлов, разделённых на части, с почтовых серверов через web-интерфейс -nc --no-clobber Если при загрузке сайта связь оборвалась, для продолжения с того же места, укажите этот параметр. При запуске Wget без -N, -nc, или -r, повторная загрузка одного и того же файла в один каталог приведёт к созданию копии файла с именем file.1. Если существует файл и с таким именем, третья копия будет называться file.2 и т. д. При параметре -nc это будет предупреждено. При запуске Wget с параметром -r, но без -N или -nc, новая загрузка сайта приведёт к замене уже загруженных файлов. При параметре -nc загрузка продолжится с места обрыва и загруженные файлы не будут загружаться заново (если только они не изменились). При запуске Wget с параметром -N, с или без -r, файл будет загружен если он новее, или если размер его не совпадает с загруженной копией (см. Сравнение по дате). -nc не комбинируется с -N.. При указанном параметре -nc, файлы с расширениями .html или (что очень ужасно) .htm с локальных дисков будут загружаться как из интернет. -c --continue Возобновление загрузки файла. Используется если загрузка файла была прервана. Например:
Если в текущем каталоге есть файл с именем ls-lR.Z, Wget проверит, соответствует ли данный файл загружаемому (не по размеру!), и, если это так, отправит запрос на сервер на продолжение загрузки файла с того же места, где оборвалась загрузка в прошлый раз. Помните, что при обрыве связи Wget повторяет попытки самостоятельно и без -c, и только когда он "сдастся" и закончит работу, для возобновления будет нужен этот параметр. Без опции-c, предыдущий пример приведёт к загрузке указанного файла заново с конечным именем ls-lR.Z.1, не трогая ls-lR.Z Начиная с версии 1.7 при параметре -c, если файл на сервере имеет равный, или меньший, чем у локального файла размер, Wget не будет ничего загружать и отобразит соответствующее сообщение. Однако при использовании -c, любой файл на сервере, имеющий больший размер, чем локальный, будет рассматриваться, как недокачанный. При этом будет загружено и записано в конец файла только "(длина(удал.файл) - длина(локал.файл))" байт. Это может пригодиться, когда вам нужно загрузить новые сообщения какого-либо журнала (log). При этом, если удалённый файл больше потому, что он изменился, вы получите повреждённый файл (т.е. файл докачается другим). Вам нужно быть особенно внимательными при использовании -c вместе с -r, так как каждый изменённый файл может быть кандидатом на "незавершённую загрузку". Вы также получите повреждённый файл, если ваш HTTP прокси-сервер неправильно настроен и при обрыве соединения пишет " transfer interrupted" в файл. В следующих версиях Wget сам будет исправлять это. Помните, что -c работает только с FTP и HTTP серверами, которые поддерживают заголовок "Range" (т.е. докачку). --progress=type Тип индикатора прогресса. Возможные значения: "dot" и "bar". "bar" используется по умолчанию. Указание --progress=bar приведёт к прорисовке красивого индикатора из символов ASCII (aka "термометр").1;5~ Если стандартный выход не TTY, будет использован "t".Sp Укажите --progress=dot чтобы переключится на тип " dot". прогресс будет отмечаться добавлением в полосе точки или знака равно, каждый символ представляет одинаковое количество данных. При использовании этого типа, вы можете указать его стиль - dot:style. Если стиль "default", каждый символ будет представлять 1 Kб, 10 символов в кластере и 50 в строке. Стиль "binary" имеет более "компьютерный" вид - 8 Kб символов, 16 символов в кластере и 48 символов в строке (получается строка на 384 Kб). Стиль "mega" используется для загрузки больших файлов - каждый символ представляет 64 Kб, 8 символов в кластере и 48 символов в строке (получается 3 Mб на строку). Вы можете определить стиль по умолчанию используя команду "progress" в .wgetrc. Если вы хотите, чтобы тип индикатора "bar" использовался всегда (а не только при выводе в stdout), укажите --progress=bar:force. -N --timestamping Включить сравнение по дате. -S --server-response Отображать заголовки, посылаемые HTTP серверам и запросы, посылаемые FTP серверам. --spider Установка поведения Wget как паука, т. е. Wget не будет загружать файлы, а только будет проверять их наличие. Так можно проверять закладки, ссылки сайта. Например:
- wget —spider —force-html -i bookmarks.html
Wget не содержит все возможности настоящих WWW пауков. -T seconds --timeout=seconds Время ожидания в секундах. Время ожидания по умолчанию 900 секунд (15 минут). Установка 0 отменяет проверку времени ожидания. Пожалуйста, не снижайте значение времени ожидания если Вы не знаете, что делаете. -w seconds --wait=seconds Пауза в секундах между несколькими загрузками (в т.ч. повторами). Это снижает загруженность сервера. Чтобы указать значение в минутах, используйте "m", в часах - "h", в днях - "d" после числа. Указание большого значения этого параметра полезно если сеть нестабильна (например обрыв dial up связи). --waitretry=seconds
Устанавливает паузу только между повторами загрузок, которые оборвались. Wget будет ждать 1 секунду
после первого обрыва, 2 секунды после второго обрыва загрузки того же фала, и т. д. до максимума,
который указывается в секундах. Например, при значении данного параметра 10, Wget будет ждать в общем
(1 + 2 + ... + 10) = 55 секунд для каждого файла.Это значение указывается по умолчанию в файле wgetrc.
--random-wait
Некоторые серверы, совершая формирование лог-файлов с паузами запросов файлов, могут определить
рекурсивную загрузку файлов - сканирование роботами, такими, как Wget. Этот параметр устанавливает
время между запросами варьируя с временем паузы, рассчитываемым от 0 до 2 * wait (секунд), где wait
указано параметром -w для маскировки Wget.Нельзя забывать что доступны исходники Wget и даже эту маскировку можно вычислить.
-Y on/off
--proxy=on/off
Поддержка прокси-сервера. Включена по умолчанию если прокси-сервер определён.-Q quota
--quota=quota
Квота на размер загружаемых файлов. Указывается в байтах (по умолчанию), Кб (в конце k) или в Мб (в конце m).При окончании квоты, текущий файл загружается до конца, значит она не работает при загрузке одного файла. Например, если вы укажите wget -Q10k ftp://wuarchive.wustl.edu/ls-lR.gz, файл ls-lR.gz будет полностью загружен. Также все указанные в командной строке будут обязательно загружены, в отличие от файлов, указанный в файле, или при рекурсивной загрузке.
Указание 0 или inf отменит квоту.
Параметры загрузки каталогов
-nd
--no-directories
Не создавать структуру каталогов при рекурсивной загрузке. При указанном параметре, все файлы будут загружаться в один каталог. Если файл с данным именем уже существует, он будет сохранён под именем ИмяФайла.n.-x
--force-directories
Противоположное параметру -nd - создавать структуру каталогов начиная с главной страницы сервера. Например загрузка файла wget -x http://fly.srk.fer.hr/robots.txt приведёт к созданию
каталога fly.srk.fer.hr.-nH
--no-host-directories
Не создавать каталоги c именем хоста в названии. По умолчанию wget -r http://fly.srk.fer.hr/ приведёт к созданию структуры каталогов начиная с fly.srk.fer.hr/. Это поведение выключается указанием данного параметра. --cut-dirs=number Игнорировать number каталогов высшего уровня. Используется при загрузке каталогов и файлов низкого уровня. Возьмём, например, каталог ftp://ftp.xemacs.org/pub/xemacs/. Если вы загрузите его с параметром -r, он сохранится под именем ftp.xemacs.org/pub/xemacs/. При параметре -nH из имени начального каталога будет вырезано ftp.xemacs.org/, и он будет называться pub/xemacs. А параметр --cut-dirs уберёт number компонентов. Примеры работы параметра --cut-dirs.
Если вы хотите просто избавиться от структуры каталогов, вы можете заменить этот параметр на -nd и -P. В отличие от -nd, --cut-dirs работает с подкаталогами - например при -nH --cut-dirs=1, подкаталог beta/ запишется в xemacs/beta. -P prefix --directory-prefix=prefix Определяет начальный каталог, в который будет сохранена структура каталогов сайта (или просто файлы). По умолчанию этот параметр равен . (текущий каталог). Параметры HTTP -E --html-extension Если тип загруженного файла text/html и его адрес не оканчивается на \.[Hh][Tt][Mm][Ll]?, при данном параметре к его имени будет добавлено .html. Это может быть полезно при зеркальном хранении страниц .asp, но вы не хотите, чтобы они вмешивались в ваш сервер Apache. Другой случай применения этого параметра - загрузка страниц-ответов CGI скриптов. Страница с URL вида http://site.com/article.cgi?25 будет сохранена как article.cgi?25.html. Примечание. При обновлении или другой перезагрузке страниц с данным параметром, последние будут загружаться заново в любом случае, т. к. Wget не может узнать, имеет ли отношение локальный файл X.html к загружаемому с URL X. Чтобы избежать лишней перезагрузки, используйте опции -k и -K. При этом оригинальные версии файлов будут также сохранены как X.orig. --http-user=user --http-passwd=password Имя пользователя user и пароль password для HTTP сервера. В зависимости от типа отклика, Wget будет использовать "basic" (небезопасную) или "digest" авторизацию. Можно также указывать имя пользователя и пароль и в самом URL. -C on/off --cache=on/off Включает или выключает кеширование со стороны сервера. При этом Wget посылает соответствующих запрос (Pragma: no-cache). Также используется для быстрого обновления файлов на прокси-сервере. По умолчанию кеширование разрешено. --cookies=on/off Включает или выключает использование cookie. Сервер посылает клиенту cookie используя заголовок "Set-Cookie" и клиент отвечает тем же cookie. Благодаря этому сервер может вести статистику посетителей. По умолчанию cookie используются, но запись их на диск выключена. --load-cookies file Загружать cookie из file перед первой загрузкой HTTP. file имеет текстовый формат, как cookies.txt у Netscape. Этот параметр используется при зеркальном хранении. Для этого Wget посылает те же cookies, которые посылает ваш обозреватель при соединении с HTTP сервером. Это включается данным параметром - просто укажите Wget путь к cookies.txt. Разные обозреватели хранят cookie в разных каталогах: Netscape 4.x. Файл находится в ~/.netscape/cookies.txt. Mozilla и Netscape 6.x. Mozilla хранит cookies в cookies.txt, расположенном где-то в ~/.mozilla, в каталоге вашего профайла. Полный путь обычно заканчивается чем-то вроде ~/.mozilla/default/some-weird- string/cookies.txt. Internet Explorer. Чтобы экспортировать cookie для Wget, выберите Файл | Импорт и экспорт, в мастере выберите Экспорт файлов cookie. Тестировано в Internet Explorer 5; возможно не будет работать в ранних версиях. Другие обозреватели. Параметр --load-cookies будет работать с cookie в формате Netscape, который поддерживается Wget. Если вы не можете использовать параметр --load-cookies, есть выход. Если ваш обозреватель поддерживает
- wget —cookies=off —header «Cookie: I<name>=I<value>»
--save-cookies file Сохранить cookie из file в конце сессии. Устаревшие cookie не сохраняются. --ignore-length Некоторые HTTP серверы (точнее CGI скрипты) посылают заголовки "Content-Length", которые указывают Wget, что загружено ещё не всё. И Wget загружает один документ несколько раз. С этим параметром, Wget будет игнорировать заголовки "Content-Length". --header=additional-header Определяет additional-header, отправляемый HTTP серверу. Он должен содержать : и символы после него. Вы можете определить несколько дополнительных заголовков использованием --header несколько раз.
Указание пустой строки в значении заголовка очистит все определённые пользователем до этого заголовки. --proxy-user=user --proxy-passwd=password Определяет имя пользователя user и пароль для авторизации на прокси-сервере. Будет использован тип авторизации "basic". --referer=url Добавляет заголовок `Referer: url' в запрос HTTP. Используется при загрузке страниц, которые передаются правильно только, если сервер знает, с какой страницы вы пришли. -s --save-headers Сохранять заголовки, посылаемые HTTP серверам. -U agent-string --user-agent=agent-string Идентифицироваться как agent-string при запросе на HTTP сервер. Протокол HTTP позволяет определять себя использованием заголовка агента. Wget по умолчанию идентифицируется как Wget/version, где version - это версия Wget. Некоторые серверы выдают требуемую информацию только для обозревателей, идентифицирующихся как "Mozilla" или Microsoft "Internet Explorer". Этот параметр позволяет обмануть такие серверы. Параметры FTP -nr --dont-remove-listing Не удалять временные файлы .listing, генерируемые при загрузке по FTP. Эти файлы содержат информацию о каталогах FTP серверов. Не удаление поможет вам быстро определить обновление каталогов сервера (т. е. определять., что ваше зеркало является таковым). Не удаляя .listing, помните о своей безопасности. Например, с таким именем можно создать символическую ссылку на /etc/passwd или что-то ещё. -g on/off --glob=on/off Включает или выключает разрешение использовать специальные символы (маски) по FTP протоколу. Это может быть *, ?, [ и ]. Например:
По умолчанию использование маскировочных символов разрешено, если URL содержит такие символы. Вы можете также взять URL в кавычки. Это работает только на серверах Unix FTP (и эмулирующих выход Unix "ls"). --passive-ftp Включает пассивный режим FTP, когда соединение инициируется клиентом. Используется при наличии fire‐ wall. --retr-symlinks При рекурсивной загрузке каталогов FTP, файлы, на которые указывают символические ссылки, не загружаются. Этот параметр отключает это. Параметр --retr-symlinks работает сейчас только для файлов, не для каталогов. Помните, что этот параметр не работает при загрузке одиночного файла. Параметры рекурсивной загрузки -r --recursive Включить рекурсивную загрузку. -l depth --level=depth Максимальная глубина рекурсивной загрузки depth. По умолчанию значение 5. --delete-after Удалять каждую страницу (локально) после её загрузки. Используется для сохранения новых версий часто запрашиваемых страниц на прокси. Например:
Параметр -r включает загрузку по умолчанию, параметр -nd отключает создание каталогов. При указанном параметре --delete-after, --convert-links игнорируется. -k --convert-links После завершения загрузки конвертировать ссылки в документе для просмотра в автономном режиме. Это касается не только видимых ссылок на другие документы, а ссылок на все внешние локальные файлы. Каждая ссылка изменяется одним из двух способов:
- Ссылки на файлы, загруженные Wget изменяются на соответствующие относительные ссылки.
Например: если загруженный файл /foo/doc.html, ссылка на файл /bar/img.gif, также загруженный, в
нём будет выглядеть как ../bar/img.gif. Этот способ работает, если есть видимое соотношение между
каталогами одного и другого файла. - Ссылки на файлы, не загруженные Wget будут изменены на абсолютные адреса этих файлов на удалённом
сервере.Например: если загруженный файл /foo/doc.html содержит ссылку на /bar/img.gif (или на
../bar/img.gif), ссылка в файле doc.html изменится на http://host/bar/img.gif.
Благодаря этому, возможен автономный просмотр сайта, файлов: если файл, на который есть ссылка загружен, ссылка будет указывать на него, если нет - ссылка будет указывать на его адрес в интернет (если такой существует). При конвертировании ссылок, используются относительные ссылки, значит вы можете переносить загруженный сайт в другой каталог, не меняя его структуру. Только после завершения загрузки Wget знает, какие файлы были загружены. Следовательно, при параметре -k конвертация произойдет только по завершении загрузки. -K --backup-converted Конвертировать ссылки обратно - убирать расширение .orig. Изменяет поведение опции -N. -m --mirror Включить параметры для зеркального хранения сайтов. Этот параметр равен нескольким параметрам: -r -N -l inf -nr. Для неприхотливого хранения зеркальных копий сайтов вы можете использовать данный параметр. -p --page-requisites Загружать все файлы, которые нужны для отображения HTML страниц. Например рисунки, звук, каскадные стили. По умолчанию такие файлы не загружаются. Параметры -r и -l, указанные вместе могут помочь, но т. к. Wget не различает внешние и внутренние документы, нет гарантии, что загрузится всё требуемое. Например, 1.html содержит тег "<IMG>", со ссылкой на 1.gif, и тег "<A>", ссылающийся на внешний документ 2.html. Страница 2.html аналогична, но её рисунок - 2.gif и ссылается она на 3.html. Скажем, это продолжается до определённого числа. Если будет дана команда:
то 1.html, 1.gif, 2.html, 2.gif и 3.html загрузятся. Как видим, 3.html без 3.gif, т. к. Wget просто считает число прыжков, по которым он перешёл, доходит до 2 и останавливается. А при параметрах:
Все файлы and рисунок 3.gif страницы 3.html загрузятся. Аналогично
приведёт к загрузке 1.html, 1.gif, 2.html и 2.gif. Чтобы загрузить одну указанную HTML страницу со всеми её элементами, просто не указывайте -r и -l:
При этом Wget будет себя вести как при параметре -r, но будут загружены страница и её вспомогательные файлы. Если вы хотите, чтобы вспомогательные файлы на других серверах (т.е. через абсолютные ссылки) были загружены, используйте:
- wget -E -H -k -K -p http://I<site>/I<document>
И в завершении, нужно сказать, что для Wget внешняя ссылка - это URL, указанный в тегах "<A>", "<AREA>" и "<LINK>", кроме "<LINK REL="stylesheet">". Параметры запрета/разрешения рекурсивной загрузки -A acclist --accept acclist -R rejlist --reject rejlist Список имён файлов, разделённых запятыми, которые следует или не следует загружать. Разрешается задание имён файлов по маске. -D domain-list --domains=domain-list Список доменов domain-list, с которых разрешено загружать файлы. Разделяется запятыми. Этот параметр не включает -H. --exclude-domains domain-list Список доменов, с которых не разрешено загружать файлы --follow-ftp Следовать по ссылкам FTP с HTML страниц. Иначе, ссылки на файлы по протоколу FTP игнорируются. --follow-tags=list Wget имеет встроенную таблицу HTML тегов, в которых ищет ссылки на другие файлы. Вы можете указать дополнительные теги в разделённом запятыми списке list в этом параметре. -G list --ignore-tags=list Обратный --follow-tags. Для пропуска HTML тегов при рекурсивной загрузке, укажите их в разделённом запятыми списке list. Раньше параметр -G был лучшим для загрузки отдельных страниц с их вспомогательными файлами. Вы можете посмотреть, как это было, указав команду
- wget -Ga,area -H -k -K -r http://I<site>/I<document>
Но теперь, лучшим параметром для загрузки одной страницы полностью считается --page-requisites. -H --span-hosts Разрешает посещать любые сервера, на которые есть ссылка. -L --relative Следовать только по относительным ссылкам. При этом параметре файлы с других серверов загружаться точно не будут. -I list --include-directories=list Список, разделённый запятыми, каталогов, из которых разрешено загружать файлы. Элементы списка list могут содержать маскировочные символы. -X list --exclude-directories=list Список, разделённый запятыми, исключаемых каталогов для загрузки (см. Ограничение по каталогам) Элементы списка list могут содержать маскировочные символы. -np --no-parent Не подниматься выше начального адреса при рекурсивной загрузке.
ПРИМЕРЫ Примеры разделены на три категории согласно их сложности. Простоe использование
- Если вам нужно загрузить URL, введите:
- Но что же будет, если соединение медленное, а файл длинный? Есть возможность обрыва связи перед
завершением загрузки. В этом случае Wget будет продолжать попытки нового соединения пока не кончится
число попыток (по умолчанию 20). Можно изменить это число, например до 45: - Теперь оставим Wget работать на фоне, а его сообщения писать в журнал log. Долго набирать —tries,
так что используем -t.Символ амперсанда в конце указывает командному интерпретатору продолжать работу с пользователем, не
дожидаясь завершения работы Wget. Чтобы программа делала повторы бесконечно используйте -t inf. - Использование FTP также простое. Wget берёт на себя заботы по авторизации.
- · Если вы укажите адрес каталога, Wget загрузит список содержимого этого каталога и конвертирует его в
формат HTML. Например:
Расширенное использование
- Если у Вас есть файл с URL, которые вы хотите загрузить, используйте параметр -i:
Если вы укажите — вместо имени файла, URL будут читаться из стандартного ввода (stdin).
- · Создать пятиуровневую копию сайта GNU со
- Как и выше, но конвертируя ссылки в HTML файлах в локальные для автономного просмотра:
- Загрузить одну HTML страницу и все файлы, требуемые для отображения последней (напр. рисунки, файлы
каскадных стилей и т. д.). Также конвертировать все ссылки на эти файлы:.SpHTML страница будет сохранена в http://www.server.com/dir/page.html и рисунки, каскадные стили и прочее
будет сохранено в каталоге http://www.server.com/, кроме случая, когда файлы будут загружаться с других
серверов. - Как и выше, но без каталога http://www.server.com/. Также все файлы будут сохранены в подкаталогах download/.
- Загрузить index.html с http://www.lycos.com, отображая заголовки сервера:
- Сохранить заголовки в файл для дальнейшего использования.
- Загрузить два высших уровня wuarchive.wustl.edu в /tmp.
- Загрузить из каталога GIF-файлы на HTTP сервере. Команда wget http://www.server.com/dir/*.gif не
будет работать, так как маскировочные символы не поддерживаются при загрузке по протоколу HTTP.
Используйте:-r -l1 включает рекурсивную загрузку с максимальной глубиной в 1. —no-parent выключает следование по ссылкам в родительский каталог, имеющую верхний уровень, -A.gif разрешает загружать только файлы с расширением .GIF. -A «*.gif» также будет работать.
- Предположим во время рекурсивной загрузки у вам нужно было срочно выключить/перезагрузить компьютер.
Чтобы не загружать уже имеющиеся файлы, используйте: - Если вы хотите указать имя пользователя и пароль для HTTP или FTP сервера, используйте
соответствующий синтаксис URL: - Вы хотите, чтобы загружаемые документы шли в стандартный вывод, а не в файлы?
Если вы хотите устроить конвейер и загрузить все сайты, ссылки на которые указаны на одной странице:
Профессиональное использование
Вы также хотите, чтобы ссылки конвертировались в локальные. Но после прочтения этого руководства, вы знаете, что при этом не будет работать сравнение по времени. Укажите Wget оставлять резервные копии HTML файлов перед конвертацией. Команда:
А если не работает локальный просмотр HTML файлов с расширением, отличным от .html, например index.cgi, нужно передать команду на переименование всех таких файлов (content-type = text/html) в имя.html.
- wget —mirror —convert-links —backup-converted \
—html-extension -o /home/me/weeklog \
http://www.gnu.org/
С краткими аналогами команд:
ФАЙЛЫ /usr/local/etc/wgetrc Расположение по умолчанию глобального файла настроек. .wgetrc Пользовательский файл настроек.
ОШИБКИ Вы можете отправлять отчёты об ошибках в GNU Wget на <"bug-wget(at)gnu.org"> (на английском). Перед отправкой: 1. Убедитесь, что поведение программы действительно ошибка. Если Wget "вылетает", это точно ошибка. Если поведение Wget не соответствует документации, это ошибка. Если все работает странно, но вы не уверены, как оно должно работать на самом деле, это может быть ошибка. 2. Попытайтесь повторить ошибку в минимальное количество действий. Не спешите отправлять .wgetrc, попробуйте проделать действия, приведшие к ошибке с другим (или вообще без него) файлом настроек. 3. Запустите Wget с параметром -d и отправьте журнал (или его части). Намного намного легче отыскивать ошибки с такими журналами. 4. Если Wget "вылетел", попытайтесь запустить его в отладчике, например "gdb `which wget` core" и введите "where" для получения обратной трассировки.
СМ. ТАКЖЕ GNU Info для wget.
АВТОРЫ Hrvoje Niksic <hniksic(at)arsdigita.com>. ПЕРЕВОД Н. Шафоростов <admin(at)program.net.ua>
АВТОРСКИЕ ПРАВА Copyright (c) 1996, 1997, 1998, 2000, 2001 Free Software Foundation, Inc.
wget — основные параметры
Программа wget закачивает сайты и отдельные файлы в текущую директорию (в директорию, где была запущена программа wget).
Скачивание одного файла
Чтобы скачать файл с помощью wget, можно воспользоваться такой командной строкой:
wget -t 45 -c —server-response —referer=http://letitbit.net/6f75c/niko.avi.html http://r103.letitbit.net/download/6f75c/niko.avi
где
- -t 45 — количество повторов в случае разрыва соединения
- -c — режим докачки. Указывает wget продолжать закачку файла. Если файл в текущей директории уже есть, на сервер будет отправлен запрос на продолжение закачки
- —server-response — выдавать на экран протокол ответа сервера
- —referer=… — указывает referer URL. Параметр необходим для закачки с тех серверов, которые проверяют referer URL, и не дают скачать файл если он не принадлежит данному серверу
- последний параметр в командной строке — это URL скачивемого файла. Этот файл будет положен в текущую директорию.
Скачивание списка файлов
Если есть файл, внутри которого находится список файлов для скачивания (один URL на одной строке), то закачать по такому списку можно командой
wget -i linkfile.txt
Ограничение скорости закачки
Для ограничения скорости закачки можно воспользоваться параметром
—limit-rate=10K
в данном случае скорость будет ограничена 10 Кб/сек.
Скачивание файлов по шаблону
При перекачке по FTP можно в именах файлов указывать шаблоны (естественно, «закавычивая» их). Например, команда
wget ‘ftp://nsk.su/pub/Linux/redhat-5.2/updates/i386/XFree86*.rpm’
скачает все обновления к системе XFree86.
Рекурсивное скачивание сайтов
Для рекурсивного скачивания используются ключи «-r», «-l» и «-np». Ключ «-r» (recursive) включает рекурсивность. Ключ «-l» (level) позволяет указать насколько «глубоко» программа должна следовать по ссылкам; 0 — бесконечно глубоко, по умолчанию установлено 5. Ключ «-np» (no parent) запрещает следовать ссылкам выше указанной директории. Ключ «-k» указывает что ссылки внутри html файлов будут преобразованы так, чтобы была нормальная навигация при локальном просмотре
При рекурсивном скачивании wget автоматически создает соответствующее дерево директорий.
К примеру, следующая команда могла бы использоваться для скачивания целого домашнего сайта (адрес вымышленный):
wget -r -l 0 -np -k http://www.h-hosts.com/users/goofy/
При этом файлы будут помещаться в директорию ./www.h-hosts.com/users/goofy/.
Если загрузка данных была случайно прервана, то для возобновления закачки с места останова, необходимо в команду добавить ключ -с
wget -r -l 0 -np -k http://www.h-hosts.com/users/goofy/ -с
Замечание. Wget, будучи культурной программой, при рекуррентном скачивании уважает т.н. «Протокол Web-роботов», и может пропускать часть файлов (запрещенных в файле robots.txt на сервере). Чтобы отключить эту «культурность», можно воспользоваться ключом «-e robots=off». Почитать про Протокол Web-роботов можно в info-документации по Wget, воспользовавшись командой info wget appendices robots.
Скачивание с сайта только определенного контента
Можно воспользоваться командой вида
wget -rkpE -A jpg,png,gif,css http://somesite.com
Этой командой будет скачан сайт somesite.com рекурсивно, то есть все ссылки на html файлы, которые будут найдены в index.html этого сайта, будут обработаны и скачаны, с них тоже будет все скачано и т. д.
Опция -А ограничивает скачиваемый контент по допустимым расширениям, таким образом запрещая скачивать, к примеру, tar.gz архивы. При этих условиях wget не пойдет дальше указаного домена и, кроме того, будет скачивать только те реквизиты (-p, т.е. картинки и стили) которые расположены на том же сайте.
Однако, добавив опцию -H можно нечаянно создать локальную копию интернета в пределах 5 рекурсивных ссылок. Надо быть осторожным. Но и для этого есть опция -l — задающая уровень скачиваемой вложенности.
Закачка в фоновом режиме
При указании ключа «-b» (background) программа сразу переходит в фоновый режим, так что пользователь может заниматься другими делами или даже выйти из системы, а wget будет продолжать свою работу.
Сообщения, которые выдавались бы на экран, будут идти в файл wget.log (а если он уже есть, то в wget.log.1, wget.log.2 и т.д.). Эти лог-файлы формируются в текущей директории.
Пример:
bobby:~/soft% wget -b http://www.mit.edu/afs/sipb/user/xiphmont/cdpa
ranoia/download/cdparanoia-III-alpha9.5.src.tgz
Continuing in background.
Output will be written to `wget-log’.
bobby:~/soft% _
Для просмотра log-файла по мере скачивания удобно пользоваться командой «tail -f»:
bobby:~/soft% tail -f wget-log
Использование прокси-серверов
Wget умеет пользоваться прокси-серверами как для HTTP, так и для FTP. Достаточно перед вызовом программы присвоить адрес прокси-сервера переменным окружения http_proxy или ftp_proxy соответственно (имена маленькими буквами!).
Wget понимает как «официальное» указание адреса, так и сокращенное. Поэтому команды
export http_proxy=http://proxy.nsc.ru:8080/
и
export http_proxy=proxy.nsc.ru:8080
эквивалентны.
wget http://example.com/tmp.zip | скачивание файла tmp.zip в текущую директорию |
wget -P /path/to/save http://example.com/tmp.zip | скачивание файла tmp.zip в директорию /path/to/save |
wget -c http://example.com/tmp.zip | докачивание файла tmp.zip в случаи обрыва |
wget -O arch.zip http://example.com/tmp.zip | скачивание файла tmp.zip и сохранение под именем arch.zip |
wget -i files.txt | скачивание файлов из списка в files.txt |
wget –tries=10 http://example.com/tmp.zip | количество попыток на скачивание |
wget -Q5m -i http://example.com/ | квота на максимальный размер скачанных файлов, действует только при рекурсивном скачивании (-r) |
wget –save-cookies cookies.txt –post-data ‘username=proft&password=1’ http://example.com/auth.php | идентификация на сервере с сохранением кук для последующего доступа |
wget –user-agent=”Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.9 Safari/536.5” http://example.com/ | указание User Agent |
echo ‘wget http://example.com/tmp.zip’ | at 12:00 | скачать http://example.com/tmp.zip в 12:00 в текущую директорию |
wget ftp://example.com/dir/*.zip | скачивание всех файлов по шаблону |
wget http://example.com/dir/file{1..10}.zip | скачивание всех файлов по шаблону |
wget -S http://example.com/ | вывод заголовков HTTP серверов и ответов FTP серверов |
wget –spider -i urls.txt | проверка ссылок в файле на доступность |
wget -b http://example.com/tmp.zip | скачивание файла в фоне, лог пишется в wget.log, wget.log.1 и т.д. export http_proxy=http://proxy.com:3128/; |
wget http://example.com/tmp.zip | скачивание файла tmp.zip через прокси |
wget -m -w 2 http://example.com/ | зеркалирование сайта с сохранением абсолютных ссылок и ожиданием 2-х секунд между запросами |
wget –limit-rate=200k http://example.com/tmp.zip | ограничение скорости скачивания |
wget -R bmp http://example.com/ | не скачивать bmp файлы |
wget -A png,jpg http://example.com/ | скачивать только файлы png и jpg |
wget — основные параметры
Программа wget закачивает сайты и отдельные файлы в текущую директорию (в директорию, где была запущена программа wget).
Скачивание одного файла
Чтобы скачать файл с помощью wget, можно воспользоваться такой командной строкой:
wget -t 45 -c —server-response —referer=http://letitbit.net/6f75c/niko.avi.html http://r103.letitbit.net/download/6f75c/niko.avi
где
- -t 45 — количество повторов в случае разрыва соединения
- -c — режим докачки. Указывает wget продолжать закачку файла. Если файл в текущей директории уже есть, на сервер будет отправлен запрос на продолжение закачки
- —server-response — выдавать на экран протокол ответа сервера
- —referer=… — указывает referer URL. Параметр необходим для закачки с тех серверов, которые проверяют referer URL, и не дают скачать файл если он не принадлежит данному серверу
- последний параметр в командной строке — это URL скачивемого файла. Этот файл будет положен в текущую директорию.
Скачивание списка файлов
Если есть файл, внутри которого находится список файлов для скачивания (один URL на одной строке), то закачать по такому списку можно командой
wget -i linkfile.txt
Ограничение скорости закачки
Для ограничения скорости закачки можно воспользоваться параметром
—limit-rate=10K
в данном случае скорость будет ограничена 10 Кб/сек.
Скачивание файлов по шаблону
При перекачке по FTP можно в именах файлов указывать шаблоны (естественно, «закавычивая» их). Например, команда
wget ‘ftp://nsk.su/pub/Linux/redhat-5.2/updates/i386/XFree86*.rpm’
скачает все обновления к системе XFree86.
Рекурсивное скачивание сайтов
Для рекурсивного скачивания используются ключи «-r», «-l» и «-np». Ключ «-r» (recursive) включает рекурсивность. Ключ «-l» (level) позволяет указать насколько «глубоко» программа должна следовать по ссылкам; 0 — бесконечно глубоко, по умолчанию установлено 5. Ключ «-np» (no parent) запрещает следовать ссылкам выше указанной директории. Ключ «-k» указывает что ссылки внутри html файлов будут преобразованы так, чтобы была нормальная навигация при локальном просмотре
При рекурсивном скачивании wget автоматически создает соответствующее дерево директорий.
К примеру, следующая команда могла бы использоваться для скачивания целого домашнего сайта (адрес вымышленный):
wget -r -l 0 -np -k http://www.h-hosts.com/users/goofy/
При этом файлы будут помещаться в директорию ./www.h-hosts.com/users/goofy/.
Если загрузка данных была случайно прервана, то для возобновления закачки с места останова, необходимо в команду добавить ключ -с
wget -r -l 0 -np -k http://www.h-hosts.com/users/goofy/ -с
Замечание. Wget, будучи культурной программой, при рекуррентном скачивании уважает т.н. «Протокол Web-роботов», и может пропускать часть файлов (запрещенных в файле robots.txt на сервере). Чтобы отключить эту «культурность», можно воспользоваться ключом «-e robots=off». Почитать про Протокол Web-роботов можно в info-документации по Wget, воспользовавшись командой info wget appendices robots.
Скачивание с сайта только определенного контента
Можно воспользоваться командой вида
wget -rkpE -A jpg,png,gif,css http://somesite.com
Этой командой будет скачан сайт somesite.com рекурсивно, то есть все ссылки на html файлы, которые будут найдены в index.html этого сайта, будут обработаны и скачаны, с них тоже будет все скачано и т. д.
Опция -А ограничивает скачиваемый контент по допустимым расширениям, таким образом запрещая скачивать, к примеру, tar.gz архивы. При этих условиях wget не пойдет дальше указаного домена и, кроме того, будет скачивать только те реквизиты (-p, т.е. картинки и стили) которые расположены на том же сайте.
Однако, добавив опцию -H можно нечаянно создать локальную копию интернета в пределах 5 рекурсивных ссылок. Надо быть осторожным. Но и для этого есть опция -l — задающая уровень скачиваемой вложенности.
Закачка в фоновом режиме
При указании ключа «-b» (background) программа сразу переходит в фоновый режим, так что пользователь может заниматься другими делами или даже выйти из системы, а wget будет продолжать свою работу.
Сообщения, которые выдавались бы на экран, будут идти в файл wget.log (а если он уже есть, то в wget.log.1, wget.log.2 и т.д.). Эти лог-файлы формируются в текущей директории.
Пример:
bobby:~/soft% wget -b http://www.mit.edu/afs/sipb/user/xiphmont/cdpa
ranoia/download/cdparanoia-III-alpha9.5.src.tgz
Continuing in background.
Output will be written to `wget-log’.
bobby:~/soft% _
Для просмотра log-файла по мере скачивания удобно пользоваться командой «tail -f»:
bobby:~/soft% tail -f wget-log
Использование прокси-серверов
Wget умеет пользоваться прокси-серверами как для HTTP, так и для FTP. Достаточно перед вызовом программы присвоить адрес прокси-сервера переменным окружения http_proxy или ftp_proxy соответственно (имена маленькими буквами!).
Wget понимает как «официальное» указание адреса, так и сокращенное. Поэтому команды
export http_proxy=http://proxy.nsc.ru:8080/
и
export http_proxy=proxy.nsc.ru:8080
эквивалентны.
Что такое wget?
Это утилита командной строки для получения файлов с использованием HTTP, HTTPS и FTP протоколов.
Как установить wget на компьютер с ОС Windows?
Вариант, которым пользуюсь сам, это скачать архив с уже скомпилированными бинарными файлами GNU Wget 0
После того как скачали архив, в любом месте создаём папку wget, например в
C:\Program Files\wgetи в эту папку распаковываем всё содержимое скачанного архива.
Чтобы программа свободно вызывалась отовсюду нужно добавить путь в переменную среды Path операционной системы Windows. Для этого заходим в
Панель управления > Система
В зависимости какая разрядность у вашей установленной Windows, запускайте 32-битную либо 64-битную версию программы, wget либо wget64 соответственно.
Обратите внимание, что начиная с версии wget 1.20 прекращена поддержка Windows XP.
Примеры команд для wget:
Скачать файл с докачкой по протоколу httpwget -c http://ftp.byfly.by/pub/CentOS/7/isos/x86_64/CentOS-7-x86_64-NetInstall-1511.isoСкачать файл по протоколу https
wget --no-check-certificate https://www.linux.org.ru/gallery/12558204.pngСкачать файл с докачкой по протоколу ftp
wget -c ftp://ftp.byfly.by/pub/CentOS/7/isos/x86_64/CentOS-7-x86_64-NetInstall-1511.isoСкачать с докачкой файлы по списку ссылок (в текстовом файле)
wget -c -i spisok.txtСкачать рекурсивно указанный сайт
wget -rkx URLОписание прочих команд смотрите во встроенной в программу помощи
wget -h GNU Wget 1.19.4, программа для загрузки файлов из сети в автономном режиме. Использование: wget [ПАРАМЕТР]... [URL]... Обязательные аргументы для длинных параметров являются обязательными и для коротких параметров. Запуск: -V, --version показать версию Wget и завершить работу -h, --help показать эту справку -b, --background после запуска перейти в фоновый режим -e, --execute=КОМАНДА выполнить команду в стиле Журналирование и входной файл: -o, --output-file=ФАЙЛ записывать сообщения в ФАЙЛ -a, --append-output=ФАЙЛ дописывать сообщения в конец ФАЙЛА -d, --debug показать много отладочной информации -q, --quiet ничего не выводить -v, --verbose показывать подробные сведения (по умолчанию) -nv, --no-verbose отключить вывод подробных сведений (не полностью) --report-speed=ТИП единицы измерения пропускной способности определить ТИПОМ. ТИП может быть равно bits -i, --input-file=ФАЙЛ загрузить URL-ы согласно локальному или внешнему ФАЙЛУ --input-metalink=ФАЙЛ скачать файлы, перечисленные в локальном ФАЙЛЕ Metalink -F, --force-html считать, что входной файл - HTML -B, --base=URL считать, что ссылки из входного файла (-i -F) указаны относительно URL --config=ФАЙЛ задать файл настроек --no-config не читать файлы настроек --rejected-log=ФАЙЛ протоколировать причины отброса URL в ФАЙЛ Загрузка: -t, --tries=ЧИСЛО установить ЧИСЛО повторных попыток (0 без ограничения) --retry-connrefused повторять, даже если в подключении отказано -O, --output-document=ФАЙЛ записывать документы в ФАЙЛ -nc, --no-clobber пропускать загрузки, которые приведут к загрузке уже существующих файлов (и их перезаписи) --no-netrc don't try to obtain credentials from .netrc -c, --continue возобновить загрузку частично загруженного файла --start-pos=СМЕЩЕНИЕ начинать загрузку со СМЕЩЕНИЯ (считается с 0) --progress=ТИП выбрать тип индикатора выполнения --show-progress показывать индикатор выполнения в любом режиме подробности -N, --timestamping не загружать повторно файлы, только если они не новее, чем локальные --no-use-server-timestamps не использовать проверку if-modified-since для запросов в режиме учёта меток времени --no-use-server-timestamps не устанавливать метку времени локальному файлу, полученную с сервера -S, --server-response вывод ответа сервера --spider ничего не загружать -T, --timeout=СЕКУНДЫ установка значений всех тайм-аутов равными числу СЕКУНД --dns-servers=АДРЕСА список запрашиваемых серверов DNS (через запятую) --bind-dns-address=АДРЕС привязать определитель DNS к АДРЕСУ (имя компьютера или IP) локального компьютера --dns-timeout=СЕК установка тайм-аута поиска в DNS в СЕК --connect-timeout=СЕК установка тайм-аута подключения в СЕК --read-timeout=СЕК установка тайм-аута чтения в СЕК -w, --wait=СЕКУНДЫ пауза в СЕКУНДАХ между загрузками --waitretry=СЕКУНДЫ пауза в 1..СЕКУНДЫ между повторными попытками загрузки --random-wait пауза в 0.5*WAIT...1.5*WAIT секунд между загрузками --no-proxy явно выключить прокси -Q, --quota=ЧИСЛО установить величину квоты загрузки в ЧИСЛО --bind-address=АДРЕС привязать АДРЕС (имя компьютера или IP) локального компьютера --limit-rate=СКОРОСТЬ ограничить СКОРОСТЬ загрузки --no-dns-cache отключить кэширование DNS-запросов --restrict-file-names=ОС использовать в именах файлов символы, допустимые в ОС --ignore-case игнорировать регистр при сопоставлении файлов и/или каталогов -4, --inet4-only подключаться только к адресам IPv4 -6, --inet6-only подключаться только к адресам IPv6 --prefer-family=СЕМЕЙСТВО подключаться сначала к адресам указанного семейства (может быть IPv6, IPv4 или ничего) --user=ПОЛЬЗОВАТЕЛЬ установить и ftp- и http-пользователя в ПОЛЬЗОВАТЕЛЬ --password=ПАРОЛЬ установить ftp- и http-пароль в ПАРОЛЬ --ask-password запрашивать пароли --use-askpass=КОМАНДА указать обработчик мандатов для запроса имени пользователя и пароля. Если КОМАНДА не указана, то используется переменная окружения WGET_ASKPASS или SSH_ASKPASS. --no-iri выключить поддержку IRI --local-encoding=КДР использовать КДР как локальную кодировку для IRI --remote-encoding=КДР использовать КДР как удалённую кодировку по умолчанию --unlink удалить файл перед затиранием --keep-badhash оставлять файлы с неправильными контрольными суммами (добавляя .badhash) --metalink-index=НОМЕР порядковый НОМЕР metaurl Metalink application/metalink4+xml --metalink-over-http использовать метаданные Metalink из заголовка ответов HTTP --preferred-location предпочитаемое расположение ресурсов Metalink Каталоги: -nd, --no-directories не создавать каталоги -x, --force-directories принудительно создавать каталоги -nH, --no-host-directories не создавать каталоги как на узле --protocol-directories использовать имя протокола в каталогах -P, --directory-prefix=ПРЕФИКС сохранять файлы в ПРЕФИКС/.. --cut-dirs=ЧИСЛО игнорировать ЧИСЛО компонентов удалённого каталога Параметры HTTP: --http-user=ПОЛЬЗОВ. установить http-пользователя в ПОЛЬЗОВАТЕЛЬ --http-password=ПАРОЛЬ установить http-пароль в ПАРОЛЬ --no-cache отвергать кэшированные сервером данные --default-page=ИМЯ изменить имя страницы по умолчанию (обычно это ) -E, --adjust-extension сохранять документы HTML/CSS с надлежащими расширениями --ignore-length игнорировать поле заголовка --header=СТРОКА вставить СТРОКУ между заголовками --compression=TYPE choose compression, one of auto, gzip and none. (default: none) --max-redirect максимально допустимое число перенаправлений на страницу --proxy-user=ПОЛЬЗОВ. установить ПОЛЬЗОВАТЕЛЯ в качестве имени пользователя для прокси --proxy-password=ПАРОЛЬ установить ПАРОЛЬ в качестве пароля для прокси --referer=URL включить в HTTP-запрос заголовок --save-headers сохранять HTTP-заголовки в файл -U, --user-agent=АГЕНТ идентифицировать себя как АГЕНТ вместо Wget/ВЕРСИЯ --no-http-keep-alive отключить поддержание активности HTTP (постоянные подключения) --no-cookies не использовать кукисы --load-cookies=ФАЙЛ загрузить кукисы из ФАЙЛА перед сеансом --save-cookies=ФАЙЛ сохранить кукисы в ФАЙЛ после сеанса --keep-session-cookies загрузить и сохранить кукисы сеанса (непостоянные) --post-data=СТРОКА использовать метод POST; отправка СТРОКИ в качестве данных --post-file=ФАЙЛ использовать метод POST; отправка содержимого ФАЙЛА --method=HTTPMethod использовать метод в заголовке --body-data=СТРОКА отправка СТРОКИ в качестве данных; ДОЛЖЕН быть указан параметр --method --body-file=ФАЙЛ отправка содержимого ФАЙЛА; ДОЛЖЕН быть указан параметр --method --content-disposition учитывать заголовок Content-Disposition при выборе имён для локальных файлов (ЭКСПЕРИМЕНТАЛЬНЫЙ) --content-on-error выводить принятые данные при ошибках сервера --auth-no-challenge отправлять информацию об аутентификации Basic HTTP не дожидаясь первого ответа сервера Параметры HTTPS (SSL/TLS): --secure-protocol=PR choose secure protocol, one of auto, SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 and PFS --https-only переходить только по безопасным ссылкам HTTPS --no-check-certificate не проверять сертификат сервера --certificate=FILE файл сертификата пользователя --certificate-type=ТИП тип сертификата пользователя: PEM или DER --private-key=ФАЙЛ файл секретного ключа --private-key-type=ТИП тип секретного ключа: PEM или DER --ca-certificate=ФАЙЛ файл с набором CA --ca-directory=КАТ каталог, в котором хранится список CA --crl-file=ФАЙЛ файл с набором CRL --pinnedpubkey=ФАЙЛ/ХЭШИ Файл с открытым ключом (PEM/DER) или любое количество хэшей sha256 в виде base64, начинающихся с и разделённых , по которым проверяется ответный узел Параметры HSTS: --no-hsts отключить HSTS --hsts-file путь к базе данных HSTS (заменит значение по умолчанию) Параметры FTP: --ftp-user=ПОЛЬЗОВАТЕЛЬ установить ftp-пользователя в ПОЛЬЗОВАТЕЛЬ --ftp-password=ПАРОЛЬ установить ftp-пароль в ПАРОЛЬ --no-remove-listing не удалять файлы --no-glob выключить маски для имён файлов FTP --no-passive-ftp отключить режим передачи --preserve-permissions сохранять права доступа удалённых файлов --retr-symlinks при рекурсии загружать файлы по ссылкам (не каталоги) Параметры FTPS: --ftps-implicit безусловно использовать FTPS (порт по умолчанию - 990) --ftps-resume-ssl возобновлять сеанс SSL/TLS, начатый в канале управления, при открытии канала данных --ftps-clear-data-connection шифровать только канал управления; данные не шифруются --ftps-fallback-to-ftp вернуться к FTP, если FTPS не поддерживается сервером Параметры WARC: --warc-file=ФАЙЛ записать данные запроса/ответа в файл .warc.gz --warc-header=СТРОКА вставить СТРОКУ в запись warcinfo --warc-max-size=ЧИСЛО максимальный размер файлов WARC равен ЧИСЛУ --warc-cdx записать индексные файлы CDX --warc-dedup=ФАЙЛ не сохранять записи, перечисленные в файле CDX --no-warc-compression не сжимать файлы WARC с помощью GZIP --no-warc-digests не вычислять дайджесты SHA1 --no-warc-keep-log не сохранять файл журнала в записи WARC --warc-tempdir=КАТАЛОГ расположение для временных файлов, создаваемых процедурой записи WARC Рекурсивная загрузка: -r, --recursive включение рекурсивной загрузки -l, --level=ЧИСЛО глубина рекурсии (inf и 0 - бесконечность) --delete-after удалять локальные файлы после загрузки -k, --convert-links делать ссылки локальными в загруженном HTML или CSS --convert-file-only преобразовывать только файловую часть URL (базовую часть имени) --backups=N перед записью файла X, ротировать до N резервных файлов -K, --backup-converted перед преобразованием файла X делать резервную копию в виде X.orig -m, --mirror короткий параметр, эквивалентный -N -r -l inf --no-remove-listing -p, --page-requisites загрузить все изображения и проч., необходимые для отображения HTML-страницы --strict-comments включить строгую (SGML) обработку комментариев HTML Разрешения/запреты при рекурсии: -A, --accept=СПИСОК список разрешённых расширений через запятую -R, --reject=СПИСОК список запрещённых расширений, разделённых запятыми. --accept-regex=РЕГВЫР регулярное выражение для разрешённых URL --reject-regex=РЕГВЫР регулярное выражение для запрещённых URL --regex-type=ТИП тип регулярного выражения (posix|pcre) -D, --domains=СПИСОК список разрешённых доменов, через запятую --exclude-domains=СПИСОК список запрещённых доменов, через запятую --follow-ftp следовать по ссылкам FTP в HTML-документах --follow-tags=СПИСОК список используемых тегов HTML, через запятую --ignore-tags=СПИСОК список игнорируемых тегов HTML, через запятую -H, --span-hosts заходить на чужие узлы при рекурсии -L, --relative следовать только по относительным ссылкам -I, --include-directories=СПИСОК список разрешённых каталогов --trust-server-names использовать имя, указанное в перенаправляющем URL, в качестве последнего компонента. -X, --exclude-directories=СПИСОК список исключаемых каталогов -np, --no-parent не подниматься в родительский каталог
wget http://example.com/file.zip | скачивание файла file.zip в текущую директорию |
wget -P /path/to/save http://example.com/file.zip | скачивание файла file.zip в директорию /path/to/save |
wget -c http://example.com/file.zip | докачивание файла file.zip в случаи обрыва |
wget -O arch.zip http://example.com/file.zip | скачивание файла file.zip и сохранение под именем arch.zip |
wget -i files.txt | скачивание файлов из списка в files.txt |
wget —tries=10 http://example.com/file.zip | количество попыток на скачивание |
wget -Q5m -i http://example.com/ | квота на максимальный размер скачанных файлов, квота действует только при рекурсивном скачивании (-r) |
wget —save-cookies cookies.txt —post-data ‘username=proft&password=1’ http://example.com/auth.php | идентификация на сервере с сохранением кук для последующего доступа |
wget —user-agent=»Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.9 Safari/536.5″ http://example.com/ | указание User Agent |
echo ‘wget http://example.com/file.zip’ | at 12:00 | скачать http://example.com/file.zip в 12:00 в текущую директорию |
wget ftp://example.com/dir/*.zip | скачивание всех файлов по шаблону |
wget http://example.com/dir/file{1..10}.zip | скачивание всех файлов по шаблону |
wget -S http://example.com/ | вывод заголовков HTTP серверов и ответов FTP серверов |
wget —spider -i urls.txt | проверка ссылок в файле на доступность |
wget -b http://example.com/file.zip | скачивание файла в фоне, лог пишется в wget.log, wget.log.1 и т.д. |
export http_proxy=http://proxy.com:3128/;wget http://example.com/file.zip | скачивание файла *file.zip* через прокси |
wget -m -w 2 http://example.com/ | зеркалирование сайта с сохранением абсолютных ссылок и ожиданием 2-х секунд между запросами |
wget —limit-rate=200k http://example.com/file.zip | ограничение скорости скачивания |
wget -R bmp http://example.com/ | не скачивать bmp файлы |
wget -A png,jpg http://example.com/ | скачивать только файлы png и jpg |
Справочник по командам Wget (скачивание файла из Интернет)
GNU Wget 1.11.4, a non-interactive network retriever.Usage: wget [OPTION]… …
Mandatory arguments to long options are mandatory for short options too.
Startup:
-V, —version display the version of Wget and exit.
-h, —help print this help.
-b, —background go to background after startup.
-e, —execute=COMMAND execute a `.wgetrc’-style command.
Logging and input file:
-o, —output-file=FILE log messages to FILE.
-a, —append-output=FILE append messages to FILE.
-d, —debug print lots of debugging information.
-q, —quiet quiet (no output).
-v, —verbose be verbose (this is the default).
-nv, —no-verbose turn off verboseness, without being quiet.
-i, —input-file=FILE download URLs found in FILE.
-F, —force-html treat input file as HTML.
-B, —base=URL prepends URL to relative links in -F -i file.
Download:
-t, —tries=NUMBER set number of retries to NUMBER (0 unlimits).
—retry-connrefused retry even if connection is refused.
-O, —output-document=FILE write documents to FILE.
-nc, —no-clobber skip downloads that would download to
existing files.
-c, —continue resume getting a partially-downloaded file.
—progress=TYPE select progress gauge type.
-N, —timestamping don’t re-retrieve files unless newer than
local.
-S, —server-response print server response.
—spider don’t download anything.
-T, —timeout=SECONDS set all timeout values to SECONDS.
—dns-timeout=SECS set the DNS lookup timeout to SECS.
—connect-timeout=SECS set the connect timeout to SECS.
—read-timeout=SECS set the read timeout to SECS.
-w, —wait=SECONDS wait SECONDS between retrievals.
—waitretry=SECONDS wait 1..SECONDS between retries of a retrieval.
—random-wait wait from 0…2*WAIT secs between retrievals.
—no-proxy explicitly turn off proxy.
-Q, —quota=NUMBER set retrieval quota to NUMBER.
—bind-address=ADDRESS bind to ADDRESS (hostname or IP) on local host.
—limit-rate=RATE limit download rate to RATE.
—no-dns-cache disable caching DNS lookups.
—restrict-file-names=OS restrict chars in file names to ones OS allows.
—ignore-case ignore case when matching files/directories.
—user=USER set both ftp and http user to USER.
—password=PASS set both ftp and http password to PASS.
Directories:
-nd, —no-directories don’t create directories.
-x, —force-directories force creation of directories.
-nH, —no-host-directories don’t create host directories.
—protocol-directories use protocol name in directories.
-P, —directory-prefix=PREFIX save files to PREFIX/…
—cut-dirs=NUMBER ignore NUMBER remote directory components.
HTTP options:
—http-user=USER set http user to USER.
—http-password=PASS set http password to PASS.
—no-cache disallow server-cached data.
-E, —html-extension save HTML documents with `.html’ extension.
—ignore-length ignore `Content-Length’ header field.
—header=STRING insert STRING among the headers.
—max-redirect maximum redirections allowed per page.
—proxy-user=USER set USER as proxy username.
—proxy-password=PASS set PASS as proxy password.
—referer=URL include `Referer: URL’ header in HTTP request.
—save-headers save the HTTP headers to file.
-U, —user-agent=AGENT identify as AGENT instead of Wget/VERSION.
—no-http-keep-alive disable HTTP keep-alive (persistent connections).
—no-cookies don’t use cookies.
—load-cookies=FILE load cookies from FILE before session.
—save-cookies=FILE save cookies to FILE after session.
—keep-session-cookies load and save session (non-permanent) cookies.
—post-data=STRING use the POST method; send STRING as the data.
—post-file=FILE use the POST method; send contents of FILE.
—content-disposition honor the Content-Disposition header when
choosing local file names (EXPERIMENTAL).
—auth-no-challenge Send Basic HTTP authentication information
without first waiting for the server’s
challenge.
HTTPS (SSL/TLS) options:
—secure-protocol=PR choose secure protocol, one of auto, SSLv2,
SSLv3, and TLSv1.
—no-check-certificate don’t validate the server’s certificate.
—certificate=FILE client certificate file.
—certificate-type=TYPE client certificate type, PEM or DER.
—private-key=FILE private key file.
—private-key-type=TYPE private key type, PEM or DER.
—ca-certificate=FILE file with the bundle of CA’s.
—ca-directory=DIR directory where hash list of CA’s is stored.
—random-file=FILE file with random data for seeding the SSL PRNG.
—egd-file=FILE file naming the EGD socket with random data.
FTP options:
—ftp-user=USER set ftp user to USER.
—ftp-password=PASS set ftp password to PASS.
—no-remove-listing don’t remove `.listing’ files.
—no-glob turn off FTP file name globbing.
—no-passive-ftp disable the «passive» transfer mode.
—retr-symlinks when recursing, get linked-to files (not dir).
—preserve-permissions preserve remote file permissions.
Recursive download:
-r, —recursive specify recursive download.
-l, —level=NUMBER maximum recursion depth (inf or 0 for infinite).
—delete-after delete files locally after downloading them.
-k, —convert-links make links in downloaded HTML point to local files.
-K, —backup-converted before converting file X, back up as X.orig.
-m, —mirror shortcut for -N -r -l inf —no-remove-listing.
-p, —page-requisites get all images, etc. needed to display HTML page.
—strict-comments turn on strict (SGML) handling of HTML comments.
Recursive accept/reject:
-A, —accept=LIST comma-separated list of accepted extensions.
-R, —reject=LIST comma-separated list of rejected extensions.
-D, —domains=LIST comma-separated list of accepted domains.
—exclude-domains=LIST comma-separated list of rejected domains.
—follow-ftp follow FTP links from HTML documents.
—follow-tags=LIST comma-separated list of followed HTML tags.
—ignore-tags=LIST comma-separated list of ignored HTML tags.
-H, —span-hosts go to foreign hosts when recursive.
-L, —relative follow relative links only.
-I, —include-directories=LIST list of allowed directories.
-X, —exclude-directories=LIST list of excluded directories.
-np, —no-parent don’t ascend to the parent directory.
Mail bug reports and suggestions to <[email protected]>.