Как пользоваться wget – 10 примеров команды wget | ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Содержание

Wget для Windows. Установка и использование.

В данной статье я хочу поговорить о установке и использовании консольной утилиты GNU Wget в операционной системе Windows.

Возможности Wget не ограничиваются одной лишь загрузкой архивов, утилита умеет создавать локальные копии web-сайтов с полным сохранением структуры каталогов и файлов. Помимо этого возможна конвертация сохраненных html-файлов для просмотра сайта в автономном режиме. Считывая заголовки файлов и сравнивая их с ранее загруженными файлами, Wget может загружать новые версии файлов, благодаря чему можно создавать обновляемые зеркала сайтов.

Wget может работать по протоколам HTTP, HTTPS, FTP, а также поддерживает работу через HTTP-прокси сервера. Утилита разрабатывалась для медленных соединений, точнее в те времена соединения были медленными и нестабильными, поэтому она поддерживает докачку файлов при обрыве соединения. Если сервер с которого загружался файл тоже поддерживает докачку, то Wget продолжит загружать файл именно с того места, где оборвалась загрузка.

Для того чтобы установить Wget, перейдите по ссылке и скачайте установочный exe-файл. Запустите exe-файл и установите Wget как обычную программу, по умолчанию утилита устанавливается C:\Program Files (x86)\GnuWin32.

Для запуска утилиты нужна командная строка Windows, запускаем ее через меню пуск или сочетанием клавиш Win+R, в открывшемся окне ввести "cmd" и нажать Enter. После запуска командной строки сразу пользоваться Wget, как это происходит в ОС Linux, не получится, сначала нужно указать местоположение файла wget.exe.

Файл wget.exe находится в каталоге bin, внутри установочной директории. Для указания файла используется команда path.

path C:\Program Files (x86)\GnuWin32\bin

Теперь можно запустить Wget, для начала можно просмотреть вывод команды help со списком дополнительных опций.

wget -h

Список дополнительных опций утилиты Wget под спойлером.

Вывод wget -h

GNU Wget 1.11.4, программа для загрузки файлов из сети в автономном режиме.
Использование: wget [ОПЦИЯ]... [URL]...

Обязательные аргументы для длинных опций также являются обязательными и для коро
тких опций.

Запуск:
  -V,  --version           вывод версии Wget и выход.
  -h,  --help              вывод этой справки.
  -b,  --background        после запуска перейти в фоновый режим.
  -e,  --execute=КОМАНДА   выполнить команду в стиле `.wgetrc'.-

Журналирование и входной файл:
  -o,  --output-file=ФАЙЛ    записывать сообщения в ФАЙЛ.
  -a,  --append-output=ФАЙЛ  дописывать сообщения в конец ФАЙЛА.
  -d,  --debug               вывод большого количества отладочной информации.
  -q,  --quiet               молча (без выходных данных).
  -v,  --verbose             подробный вывод (по умолчанию).
  -nv, --no-verbose          отключение подробного режима, но не полностью.
  -i,  --input-file=ФАЙЛ     загрузка URL'ов, найденных в ФАЙЛЕ.
  -F,  --force-html          считать, что входной файл - HTML.
  -B,  --base=URL            добавление URL в начало относительных ссылок в файл
е -F -i.

Загрузка:
  -t,  --tries=ЧИСЛО             установить ЧИСЛО повторных попыток (0 без огран
ичения).
       --retry-connrefused       повторять, даже если в подключении отказано.
  -O,  --output-document=ФАЙЛ    записывать документы в ФАЙЛ.
  -nc, --no-clobber              пропускать загрузки, которые приведут к
                                 загрузке уже существующих файлов.
  -c,  --continue                возобновить загрузку частично загруженного файл
а.
       --progress=ТИП            выбрать тип индикатора выполнения.
  -N,  --timestamping            не загружать повторно файлы, только если они
                                 не новее, чем локальные.
  -S,  --server-response         вывод ответа сервера.
       --spider                  ничего не загружать.
  -T,  --timeout=СЕКУНДЫ         установка значений всех тайм-аутов в СЕКУНДЫ.
       --dns-timeout=СЕК         установка тайм-аута поиска в DNS в СЕК.
       --connect-timeout=СЕК     установка тайм-аута подключения в СЕК.
       --read-timeout=СЕК        установка тайм-аута чтения в СЕК.
  -w,  --wait=СЕКУНДЫ            пауза в СЕКУНДАХ между загрузками.
       --waitretry=СЕКУНДЫ       пауза в 1..СЕКУНДЫ между повторными попытками з
агрузки.
       --random-wait             пауза в 0...2*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-пароль в ПАРОЛЬ.

Каталоги:
  -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              отвергать кэшированные сервером данные.
  -E,  --html-extension        сохранять HTML-документы с расширением `.html'.
       --ignore-length         игнорировать поле заголовка `Content-Length'.
       --header=СТРОКА         вставить СТРОКУ между заголовками.
       --max-redirect          максимально допустимое число перенаправлений
                               на страницу.
       --proxy-user=ПОЛЬЗОВАТЕЛЬ установить ПОЛЬЗОВАТЕЛЯ в качестве имени пользо
вателя для прокси.
       --proxy-password=ПАРОЛЬ   установить ПАРОЛЬ в качестве пароля для прокси.

       --referer=URL           включить в HTTP-запрос заголовок `Referer: URL'.
       --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; отправка содержимого ФАЙ
ЛА.
       --content-disposition   Учитывать заголовок Content-Disposition
                               при выборе имён для локальных файлов
                               (ЭКСПЕРИМЕНТАЛЬНЫЙ).
       --auth-no-challenge     Отправить базовые данные аутентификации HTTP
                               не дожидаясь ответа от сервера.

Опции HTTPS (SSL/TLS):
       --secure-protocol=ПР     выбор безопасного протокола: auto, SSLv2,
                                SSLv3 или TLSv1.
       --no-check-certificate   не проверять сертификат сервера.
       --certificate=FILE       файл сертификата пользователя.
       --certificate-type=ТИП   тип сертификата пользователя: PEM или DER.
       --private-key=ФАЙЛ       файл секретного ключа.
       --private-key-type=ТИП   тип секретного ключа: PEM или DER.
       --ca-certificate=ФАЙЛ    файл с набором CA.
       --ca-directory=КАТ       каталог, в котором хранится список CA.
       --random-file=ФАЙЛ       файл со случайными данными для SSL PRNG.
       --egd-file=ФАЙЛ          файл, определяющий сокет EGD со случайными данны
ми.

Опции FTP:
       --ftp-user=ПОЛЬЗОВАТЕЛЬ установить ftp-пользователя в ПОЛЬЗОВАТЕЛЬ.
       --ftp-password=ПАРОЛЬ   установить ftp-пароль в ПАРОЛЬ.
       --no-remove-listing     не удалять файлы файлы `.listing'.
       --no-glob               выключить маски для имён файлов FTP.
       --no-passive-ftp        отключить "пассивный" режим передачи.
       --retr-symlinks         при рекурсии загружать файлы по ссылкам (не катал
оги).
       --preserve-permissions  сохранять права доступа удалённых файлов.

Рекурсивная загрузка:
  -r,  --recursive          включение рекурсивной загрузки.
  -l,  --level=ЧИСЛО        глубина рекурсии (inf и 0 - бесконечность).
       --delete-after       удалять локальные файлы после загрузки.
  -k,  --convert-links      делать ссылки локальными в загруженном HTML.
  -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=СПИСОК             список запрещённых расширений, разделённых за
пятыми.
  -D,  --domains=СПИСОК            список разрешённых доменов, разделённых запят
ыми.
       --exclude-domains=СПИСОК    список запрещённых доменов, разделённых запят
ыми.
       --follow-ftp                следовать по ссылкам FTP в HTML-документах.
       --follow-tags=СПИСОК        список используемых тегов HTML, разделённых з
апятыми.
       --ignore-tags=СПИСОК        список игнорируемых тегов HTML, разделённых з
апятыми.
  -H,  --span-hosts                заходить на чужие хосты при рекурсии.
  -L,  --relative                  следовать только по относительным ссылкам.
  -I,  --include-directories=СПИСОК список разрешённых каталогов.
  -X,  --exclude-directories=СПИСОК список исключаемых каталогов.
  -np, --no-parent                 не подниматься в родительский каталог.

Обычные копирование и вставка (Ctrl+C, Ctrl+V) в командной строке Windows не работают. Чтобы скопировать текст из командной строки Windows, нужно просто выделить нужный фрагмент текста и нажать Enter.

Для вставки текста в командную строку, нужно кликнуть правой кнопкой мыши по окну командной строки, выбрать подменю "Изменить" и дальше выполнить требуемую команду. Копирование и вставка существенно облегчают работу с командной строкой Windows.

Давайте рассмотрим несколько примеров использования утилиты Wget.

Допустим что нам нужно скачать какой нибудь файл, пусть это будет титульное изображение для этой статьи. Для этого нужно просто указать URL (ссылку) нужного файла, например так.

wget https://techlist.top/wp-content/uploads/2017/05/wget.jpg

Иногда Wget может ругаться на "самоподписанные сертификаты" при использовании HTTPS-ссылок, хотя с самими сертификатами все в порядке, в таком случае нужно использовать дополнительную опцию "--no-check-certificate".

wget https://techlist.top/wp-content/uploads/2017/05/wget.jpg --no-check-certificate

При обычном вызове командной строки Windows сохранение файла будет происходить в пользовательский каталог C:\Users\Username. Если файл требуется сохранить в какой-либо определенный каталог, то его необходимо указать при помощи дополнительного ключа "-P", пусть это будет каталог test на диске C (C:\test).

wget -P C:\test https://techlist.top/wp-content/uploads/2017/05/wget.jpg --no-check-certificate

Если файл должен быть сохранен в определенном каталоге, то существует более простой способ сохранения файла, без указания дополнительных опций. Зайдите в нужный каталог через проводник Windows, зажмите клавишу Shift и кликните по области каталога правой кнопкой мыши, в открывшемся меню выберите "Открыть окно команд".

Открывшаяся командная строка станет выглядеть следующим образом.

windows wget

Выполните команду path, для указания местоположения wget.exe.

path C:\Program Files (x86)\GnuWin32\bin

Теперь все будет сохраняться именно в эту папку.

Давайте представим что у нас есть некий файл со списком ссылок, которые необходимо скачать. Пусть это будет файл test.txt расположенный в пользовательском каталоге C:\Users\Username, со следующим содержанием.

https://techlist.top/wp-content/uploads/2017/03/nginx_.jpg
https://techlist.top/wp-content/uploads/2017/04/wp.jpg
https://techlist.top/wp-content/uploads/2017/01/php7.jpg
https://techlist.top/wp-content/uploads/2017/03/MariaDB.jpg
https://techlist.top/wp-content/uploads/2016/09/netfilter-logo.jpg

Дополнительный ключ "-i" будет указывать на расположение файла - C:\Users\Username\test.txt и все файлы из списка будут сохранены.

wget -i C:\Users\Username\test.txt --no-check-certificate

Чтобы скачать сайт целиком достаточно просто указать его адрес c минимально необходимым набором опций, например.

wget -r -l 10 -k -p -t 5 https://techlist.top --no-check-certificate

-r,  --recursive       включение рекурсивной загрузки.
-l,  --level=ЧИСЛО     глубина рекурсии (inf и 0 - бесконечность).
-k,  --convert-links   делать ссылки локальными в загруженном HTML.
-p,  --page-requisites загрузить все изображения и проч., 
необходимые для отображения HTML-страницы.
-t,  --tries=ЧИСЛО     установить ЧИСЛО повторных попыток (0 без ограничения).

В результате получим готовое зеркало сайта, которое будет автономно работать на компьютере, благодаря конвертации ссылок для локального использования сайта.

Но допустим что нам не нужен весь сайт, а только вот эта статья https://techlist.top/install-wordpress/. В таком случае команда для загрузки станет выглядеть так.

wget -r -l 10 -t 5 -k -p -np https://techlist.top/install-wordpress/ --no-check-certificate

Добавляем к предыдущей команде доп. опцию -np

-np, --no-parent       не подниматься в родительский каталог
в нашем случае выше указанной директории https://techlist.top/install-wordpress/ скачивание не пойдет.

Комбинируя набор доп. опций в командах Wget можно добиться разных результатов. Так что пробуйте все самостоятельно и изучайте возможности утилиты.

Использование команды Wget на простых примерах. Linux статьи

Команда wget

Утилита wget (или команда wget) предназначена для скачивания файлов, веб страниц и других ресурсов из интернета. Рассмотрим основные возможности команды wget на примерах.

Синтаксис команды wget

Команда wget имеет следующий синтаксис:

wget [опции] URL

В простейшем случае, чтобы скачать файл, достаточно указать URL-адрес:

wget https://domain.ru/filename.tar.bz2

Выполнив данную команду, вы скачаете файл filename.tar.bz2, расположенный по адресу https://domain.ru/filename.tar.bz2, который будет сохранен в текущую директорию.

Указание нового имени файла

Используя опцию -O можно задать название результирующего файла.

Например, если файл, который вы скачиваете, имеет имя filename-1.3.0-release-branch.tar, вы можете сохранить его с именем filename.tar:

wget -O filename.tar ftp://some.host.com/filename-1.3.0-release-branch.tar

Скачивание в фоновом режиме

Чтобы скачать файл в фоновом режиме используется опция -b:

wget -b http://host.com/file.zip

Скачивание нескольких файлов (по списку)

Команде wget можно передать текстовый файл, в котором на каждой строчке записаны URL-адреса, которые требуется скачать. Для этого используется опция -i:

wget -i list-of-files.txt

Скачивание файлов по ссылкам в HTML-документе

Команда wget поддерживает скачивание файлов по ссылкам в HTML-документе. То есть она автоматически находит все ссылки в HTML-файле и скачивает их:

wget --force-html -i file.html

Ограничение скорости скачивания

Чтобы ограничить скорость скачивания используется опция --limit-rate.

wget --limit-rate=500k http://some-site.com/filename.tar.gz

500k означает 500KB/s.

В качестве значения --limit-rate можно указывать скорость загрузки в следующих форматах:

  • байтах в секунду — например: 300
  • килобайтах в секунду — например: 10k
  • мегабайтах в секунду- например: 10.5m

Продолжение загрузки

Чтобы продолжить прервавшуюся загрузку используется опция -c:

wget -c http://some-site.com/file.tar

Проверка существования файла

Перед тем, как скачать файл, можно проверить существует ли он. Например, это может потребоваться, когда вы скачиваете большое количество файлов и хотите заранее знать, все ли из них доступны. Для проверки доступности файлов используется опция --spider.

Например, чтобы проверить доступность файлов в списке можно использовать команду:

wget --spider -i list-of-files.txt

Также можно проверить доступен ли конкретный файл:

wget --spider http://site.com/filename.zip

При использовании опции --spider файлы не скачиваются, а только выполняется проверка.

Как скачать сайт

Инструкцию по скачиванию сайтов с помощью wget смотрите в отдельной статье: Скачиваем сайты целиком — утилита wget

Скачивание с FTP (указание логина и пароля)

Чтобы скачать файл с FTP-сервера, для которого требуется указание логина и пароля, используются опции --ftp-user и --ftp-password:

wget --ftp-user=ИМЯ_ПОЛЬЗОВАТЕЛЯ --ftp-password=ПАРОЛЬ ftp://ftp.адрес.com/filename.tar

Скачивание с HTTP с указанием логина и пароля

Если для доступа к ресурсу по HTTP требуется указание имени пользователя и пароля, то для этого используются опции --http-user и --http-password:

wget --http-user=ИМЯ_ПОЛЬЗОВАТЕЛЯ --http-password=ПАРОЛЬ http://ftp.адрес.com/filename.tar

Указание количества попыток

Если соединение нестабильное, то можно задать количество попыток, чтобы загрузка файла продолжалась в случае сбоя. Для указания количества попыток используется опция -t:

wget -t 10 http://site.com/filename.zip

По умолчанию установлено количество попыток — 20. Но если при попытке загрузки файла получена ошибка 404 (файл не найден) или connection refused, то скачивание прерывается.

Ожидание между загрузкой файлов

При скачивании большого количества файлов, слишком частое обращение к удаленному серверу с вашей стороны может расцениваться сервером как DDoS атака. Опция -w позволяет задать количество секунд, которое требуется ожидать перед загрузкой очередного файла.

wget -w 15 ...

Некоторые веб-сайты умеют распознавать автоматические запросы к сайту, которые происходят с заданной периодичностью. Поэтому даже использование опции -w не всегда помогает. В таких случаях можно воспользоваться дополнительной опцией --random-wait. При ее использовании ожидание перед загрузкой очередного файла составляет случайное количество секунд от 0.5*wait до 1.5*wait. Пример использования (ожидание будет в диапазоне от 15 до 45 секунд):

wget -w 30 --random-wait ...

Указание нескольких опций

В примерах выше мы использовали опции по отдельности. Можно использовать несколько опций в одной команде одновременно, например:

wget -w 50 --random-wait -t 15 --limit-rate=5m http://site.com/file.zip

Заключение

Мы рассмотрели только базовые возможности команды wget по скачиванию файлов. Полный список всех опций и их описание можно получить, выполнив в командной строке:

man wget

Wget — Википедия

Wget[4] — (GNU Wget) свободная неинтерактивная консольная программа для загрузки файлов по сети. Поддерживает протоколы HTTP, FTP и HTTPS, а также поддерживает работу через HTTP прокси-сервер. Программа включена почти во все дистрибутивы GNU/Linux.

Wget является неинтерактивной программой. Это означает, что после её запуска пользователь может повлиять на её работу только с помощью средств управления процессами операционной системы. Как правило, для этого используются сочетания клавиш Ctrl+C при необходимости прерывания работы программы и Ctrl+Z для помещения текущего задания в фон. Современные web-браузеры как правило имеют функцию закачки файлов, однако так как браузер рассчитан на интерактивный режим работы, то скачивание большого количества файлов вручную может быть утомительным. Браузеры, как правило, не предоставляют средств для автоматизации подобных задач. Wget же, например, поддерживает загрузку URL, указанных в файле. Таким образом можно составить список файлов, а в любое удобное время скачать их с помощью wget. Интерфейс командной строки позволяет управлять wget из других программ и скриптов, что используется при автоматизации загрузки файлов (регулярные обновления, мониторинг доступности сервера и т. д.).

Wget позволяет загружать любые файлы во всемирной паутине (в том числе и (X)HTML-страницы) по протоколам http и https, а также файлы и списки каталогов по протоколу ftp.

Файлы можно скачивать рекурсивно по ссылкам в HTML страницах, как с одного сайта с определённой глубиной следования по ссылкам, так и с нескольких. Помимо этого, при загрузке по ftp файлы можно скачивать «по маске» имени (то есть можно задавать с помощью «*» группу файлов).

Wget поддерживает докачку файла в случае обрыва соединения.

Ведётся разработка продолжения Wget — Wget2[5].

Загрузка всех URL, указанных в локальном или внешнем ФАЙЛЕ:

Скачивание файлов в указанный каталог (-P)[6]:

wget -P /path/for/save ftp://ftp.example.org/some_file.iso

Использование имени пользователя и пароля на FTP/HTTP (вариант 1):

wget ftp://login:[email protected]/some_file.iso

Использование имени пользователя и пароля на FTP/HTTP (вариант 2):

wget --user=login --password=password ftp://ftp.example.org/some_file.iso

Скачивание в фоновом режиме (-b):

wget -b ftp://ftp.example.org/some_file.iso

Продолжить (-c continue) загрузку ранее не полностью загруженного файла:

wget -c http://example.org/file.iso

Скачать содержимое каталога http://example.org/~user/my-archive/ (недоступная ссылка) и всех его подкаталогов, при этом не поднимаясь по иерархии каталогов выше:

wget -r --no-parent http://example.org/~user/my-archive/

Также поддерживается идентификация на сервере:

wget --save-cookies cookies.txt \
--post-data 'user=foo&password=bar' \
http://example.org/auth.php

Скачать весь сайт целиком (глубина рекурсии — 10):

wget -r -l 10 -k -o log-file.txt -p http://example.org/

-r, --recursive включение рекурсивной загрузки
-l, --level=ЧИСЛО глубина рекурсии (inf и 0 - бесконечность)
-k, --convert-links делать ссылки локальными в загруженном HTML или CSS
-o, --output-file=ФАЙЛ записывать сообщения (логи) в ФАЙЛ
-p, --page-requisites загрузить все изображения и проч., необходимые для отображения HTML-страницы
-m, --mirror короткий параметр, эквивалентный -N -r -l inf --no-remove-listing.

Вывести содержание ответа в консоль:

wget http://example.org --quiet -O -

До версии 1.12, возвращает 0 при успешном выполнении и 1 в случае ошибки. Начиная с версии 1.12[7], в случае ошибки возвращает от 1 до 8, в зависимости от вида.

Разработка Wget идёт медленно, многие новые расширения протоколов HTTP, FTP, сценарии JavaScript и другие функции не поддерживаются.

В некоторых случаях хорошей альтернативой может являться cURL, а для создания зеркал сайтов (чего cURL не умеет[8]) обычно используется rsync. В версии 1.17 и выше обязательна поддержка SSE2 инструкций процессором.

Следующее значительное обновление Wget должно произойти в wget2, который, предположительно, должен прийти ему на смену. wget2 обладает значительным количеством усовершенствований по сравнению с Wget, в первую очередь касающимися производительности:

  • поддержка HTTP/2;
  • HTTP-сжатие;
  • параллельные соединения;
  • TCP Fast Open;

и рядом других.

Основным разработчиком wget2 является Тим Рюсен (Tim Rühsen), так же являющийся одним из основных разработчиков и текущих майнтейнеров Wget.

⛭

Команды Unix

программа для загрузки файлов и скачивания сайта целиком.

У Вас в браузере заблокирован JavaScript. Разрешите JavaScript для работы сайта!

Скачать WGet для Windows можно здесь

Пришедшая из мира Linux, свободно распространяемая утилита Wget позволяет скачивать как отдельные файлы из интернета, так и сайты целиком, следуя по ссылкам на веб-страницах.

Чтобы получить подсказку по параметрам WGet наберите команду man wget в Linux или wget.exe --help в Windows.

Допустим, мы хотим создать полную копию сайта www.site.com на своем диске. Для этого открываем командную строку (Wget - утилита консольная) и пишем такую команду:

wget.exe -r -l10 -k -p -E -nc http://www.site.com
WGET рекурсивно (параметр -r) обойдет каталоги и подкаталоги на удалённом сервере включая css-стили(-k) с максимальной глубиной рекурсии равной десяти (-l), а затем заменить в загруженных HTML-документах абсолютные ссылки на относительные (-k) и расширения на html(-E) для последующего локального просмотра скачанного сайта. При повторном скачивании не будут лица и перезаписываться повторы(-nc). К сожалению внутренние стили и картинки указанные в стилях не скачиваются

Если предполагается загрузка с сайта какого-либо одного каталога (со всеми вложенными в него папками), то логичнее будет включить в командную строку параметр -np. Он не позволит утилите при поиске файлов подниматься по иерархии каталогов выше указанной директории:

wget.exe -r -l10 -k http://www.site.com -np

Если загрузка данных была случайно прервана, то для возобновления закачки с места останова, необходимо в команду добавить ключ -с:

wget.exe -r -l10 -k http://www.site.com -c

По умолчанию всё скаченное сохраняется в рабочей директории утилиты. Определить другое месторасположение копируемых файлов поможет параметр -P:

wget.exe -r -l10 -k http://www.site.com -P c:\internet\files

Наконец, если сетевые настройки вашей сети предполагают использование прокси-сервера, то его настройки необходимо сообщить программе. См. Конфигурирование WGET

wget -m -k -nv -np -p --user-agent="Mozilla/5.0 (compatible; Konqueror/3.0.0/10; Linux)" АДРЕС_САЙТА

Загрузка всех URL, указанных в файле FILE:

wget -i FILE

Скачивание файла в указанный каталог (-P):

wget -P /path/for/save ftp://ftp.example.org/some_file.iso

Использование имени пользователя и пароля на FTP/HTTP (вариант 1):

wget ftp://login:[email protected]/some_file.iso

Использование имени пользователя и пароля на FTP/HTTP (вариант 2):

wget --user=login --password=password ftp://ftp.example.org/some_file.iso

Скачивание в фоновом режиме (-b):

wget -b ftp://ftp.example.org/some_file.iso

Продолжить (-c continue) загрузку ранее не полностью загруженного файла:

wget -c http://example.org/file.iso

Скачать страницу с глубиной следования 10, записывая протокол в файл log:

wget -r -l 10 http://example.org/ -o log

Скачать содержимое каталога http://example.org/~luzer/my-archive/ и всех его подкаталогов, при этом не поднимаясь по иерархии каталогов выше:

wget -r --no-parent http://example.org/~luzer/my-archive/

Для того, чтобы во всех скачанных страницах ссылки преобразовывались в относительные для локального просмотра, необходимо использовать ключ -k:

wget -r -l 10 -k http://example.org/

Также поддерживается идентификация на сервере:

wget --save-cookies cookies.txt --post-data 'user=foo&password=bar' http://example.org/auth.php

Скопировать весь сайт целиком:

wget -r -l0 -k http://example.org/

Например, не загружать zip-архивы:

wget -r -R «*.zip» http://freeware.ru

Залогиниться и скачать файлик ключа

@echo off
wget --save-cookies cookies.txt --post-data "login=ТВОЙЛОГИН&password=ТВОЙПАРОЛЬ" http://beta.drweb.com/files/ -O-
wget --load-cookies cookies.txt "http://beta.drweb.com/files/?p=win%%2Fdrweb32-betatesting.key&t=f" -O drweb32-betatesting.key

Внимание! Регистр параметров WGet различен!

Базовые ключи запуска

-V
--version
Отображает версию Wget.

-h
--help
Выводит помощь с описанием всех ключей командной строки Wget.

-b
--background
Переход в фоновый режим сразу после запуска. Если выходной файл не задан -o, выход перенаправляется в wget-log.

-e command
--execute command
Выполнить command, как если бы она была частью файла .wgetrc. Команда, запущенная таким образом, будет выполнена после команд в .wgetrc, получая приоритет над ними. Для задания более чем одной команды wgetrc используйте несколько ключей -e.

Протоколирование и ключи входного файла

-o logfile
--output-file=logfile
Протоколировать все сообщения в logfile. Обычно сообщения выводятся в standard error.

-a logfile
--append-output=logfile
Дописывать в logfile. То же, что -o, только logfile не перезаписывается, а дописывается. Если logfile не существует, будет создан новый файл.

-d
--debug
Включает вывод отладочной информации, т.е. различной информации, полезной для разработчиков Wget при некорректной работе. Системный администратор мог выбрать сборку Wget без поддержки отладки, в этом случае -d работать не будет. Помните, что сборка с поддержкой отладки всегда безопасна - Wget не будет выводить отладочной информации, пока она явно не затребована через -d.

-q
--quiet
Выключает вывод Wget.

-v
--verbose
Включает подробный вывод со всей возможной информацией. Задано по умолчанию.

-nv
--non-verbose
Неподробный вывод - отключает подробности, но не замолкает совсем (используйте -q для этого), отображаются сообщения об ошибках и основная информация.

-i file
--input-file=file
Читать URL из входного файла file, в этом случае URL не обязательно указывать в командной строке. Если адреса URL указаны в командной строке и во входном файле, первыми будут запрошены адреса из командной строки. Файл не должен (но может) быть документом HTML - достаточно последовательного списка адресов URL. Однако, при указании --force-html входной файл будет считаться html. В этом случае могут возникнуть проблемы с относительными ссылками, которые можно решить указанием <base href="url"> внутри входного файла или --base=url в командной строке.

-F
--force-html
При чтении списка адресов из файла устанавливает формат файла как HTML. Это позволяет организовать закачку по относительным ссылкам в локальном HTML-файле при указании <base href="url"> внутри входного файла или --base=url в командной строке.

-B URL
--base=URL
Используется совместно c -F для добавления URL к началу относительных ссылок во входном файле, заданном через -i.

Ключи скачивания

--bind-address=ADDRESS
При открытии клиентских TCP/IP соединений bind() на ADDRESS локальной машины. ADDRESS может указываться в виде имени хоста или IP-адреса. Этот ключ может быть полезен, если машине выделено несколько адресов IP.

-t number
--tries=number
Устанавливает количество попыток в number. Задание 0 или inf соответствует бесконечному числу попыток. По умолчанию равно 20, за исключением критических ошибок типа "в соединении отказано" или "файл не найден" (404), при которых попытки не возобновляются.

-O file
--output-document=file
Документы сохраняются не в соответствующие файлы, а конкатенируются в файл с именем file. Если file уже существует, то он будет перезаписан. Если в качестве file задано -, документы будут выведены в стандартный вывод (отменяя -k). Помните, что комбинация с -k нормально определена только для скачивания одного документа.

-nc
--no-clobber
Если файл скачивается более одного раза в один и тот же каталог, то поведение Wget определяется несколькими ключами, включая -nc. В некоторых случаях локальный файл будет затёрт или перезаписан при повторном скачивании, в других - сохранён.
При запуске Wget без -N, -nc или -r скачивание того же файла в тот же каталог приводит к тому, что исходная копия файла сохраняется, а новая копия записывается с именем file.1. Если файл скачивается вновь, то третья копия будет названа file.2 и т.д. Если указан ключ -nc, такое поведение подавляется, Wget откажется скачивать новые копии файла. Таким образом, "no-clobber" неверное употребление термина в данном режиме - предотвращается не затирание файлов (цифровые суффиксы уже предотвращали затирание), а создание множественных копий.
При запуске Wget с ключом -r, но без -N или -nc, перезакачка файла приводит к перезаписыванию на место старого. Добавление -nc предотвращает такое поведение, сохраняя исходные версии файлов и игнорируя любые новые версии на сервере.
При запуске Wget с ключом -N, с или без -r, решение о скачивании новой версии файла зависит от локальной и удалённой временных отметок и размера файла. -nc не может быть указан вместе с -N.
При указании -nc файлы с расширениями .html и .htm будут загружаться с локального диска и обрабатываться так, как если бы они были скачаны из сети.

-c
--continue
Продолжение закачки частично скачанного файла. Это полезно при необходимости завершить закачку, начатую другим процессом Wget или другой программой. Например:

wget -c ftp://htmlweb.ru/ls-lR.Z

Если в текущем каталоге имеется файл ls-lR.Z, то Wget будет считать его первой частью удалённого файла и запросит сервер о продолжении закачки с отступом от начала, равному длине локального файла.

Нет необходимости указывать этот ключ, чтобы текущий процесс Wget продолжил закачку при пи потере связи на полпути. Это изначальное поведение. -c влияет только на закачки, начатые до текущего процесса Wget, если локальные файлы уже существуют.

Без -c предыдущий пример сохранит удалённый файл в ls-lR.Z.1, оставив ls-lR.Z без изменения.

Начиная с версии Wget 1.7, при использовании -c с непустым файлом, Wget откажется начинать закачку сначала, если сервер не поддерживает закачку, т.к. это привело бы к потере скачанных данных. Удалите файл, если вы хотите начать закачку заново.

Также начиная с версии Wget 1.7, при использовании -c для файла равной длины файлу на сервере Wget откажется скачивать и выведет поясняющее сообщение. То же происходит, если удалённый файл меньше локального (возможно, он был изменён на сервере с момента предыдущей попытки) - т.к. "продолжение" в данном случае бессмысленно, скачивание не производится.

С другой стороны, при использовании -c локальный файл будет считаться недокачанным, если длина удалённого файла больше длины локального. В этом случае (длина(удалённая) - длина(локальная)) байт будет скачано и приклеено в конец локального файла. Это ожидаемое поведение в некоторых случаях: например, можно использовать -c для скачивания новой порции собранных данных или лог-файла.

Однако, если файл на сервере был изменён, а не просто дописан, то вы получите испорченный файл. Wget не обладает механизмами проверки, является ли локальный файл начальной частью удалённого файла. Следует быть особенно внимательным при использовании -c совместно с -r, т.к. каждый файл будет считаться недокачанным.

Испорченный файл также можно получить при использовании -c с кривым HTTP прокси, который добавляет строку тима "закачка прервана". В будущих версиях возможно добавление ключа "откат" для исправления таких случаев.

Ключ -c можно использовать только с FTP и HTTP серверами, которые поддерживают заголовок Range.

--progress=type
Выбор типа индикатора хода закачки. Возможные значения: "dot" и "bar".
Индикатор типа "bar" используется по умолчанию. Он отображает ASCII полосу хода загрузки (т.н. "термометр"). Если вывод не в TTY, то по умолчанию используется индикатор типа "dot".
Для переключения в режим "dot" укажите --progress=dot. Ход закачки отслеживается и выводится на экран в виде точек, где каждая точка представляет фиксированный размер скачанных данных.
При точечной закачке можно изменить стиль вывода, указав dot:style. Различные стили определяют различное значение для одной точки. По умолчанию одна точка представляет 1K, 10 точек образуют кластер, 50 точек в строке. Стиль binary является более "компьютер"-ориентированным - 8K на точку, 16 точек на кластер и 48 точек на строку (384K в строке). Стиль mega наиболее подходит для скачивания очень больших файлов - каждой точке соответствует 64K, 8 точек на кластер и 48 точек в строке (строка соответствует 3M).
Стиль по умолчанию можно задать через .wgetrc. Эта установка может быть переопределена в командной строке. Исключением является приоритет "dot" над "bar", если вывод не в TTY. Для непременного использования bar укажите --progress=bar:force.

-N
--timestamping
Включает использование временных отметок.

-S
--server-response
Вывод заголовков HTTP серверов и ответов FTP серверов.

--spider
При запуске с этим ключом Wget ведёт себя как сетевой паук, он не скачивает страницы, а лишь проверяет их наличие. Например, с помощью Wget можно проверить закладки:

wget --spider --force-html -i bookmarks.html

Эта функция требует большой доработки, чтобы Wget достиг функциональности реальных сетевых пауков.

-T seconds
--timeout=seconds
Устанавливает сетевое время ожидания в seconds секунд. Эквивалентно одновременному указанию --dns-timeout, --connect-timeout и --read-timeout.
Когда Wget соединяется или читает с удалённого хоста, он проверяет время ожидания и прерывает операцию при его истечении. Это предотвращает возникновение аномалий, таких как повисшее чтение или бесконечные попытки соединения. Единственное время ожидания, установленное по умолчанию, - это время ожидания чтения в 900 секунд. Установка времени ожидания в 0 отменяет проверки.
Если вы не знаете точно, что вы делаете, лучше не устанавливать никаких значений для ключей времени ожидания.

--dns-timeout=seconds
Устанавливает время ожидания для запросов DNS в seconds секунд. Незавершённые в указанное время запросы DNS будут неуспешны. По умолчанию никакое время ожидания для запросов DNS не устанавливается, кроме значений, определённых системными библиотеками.

--connect-timeout=seconds
Устанавливает время ожидания соединения в seconds секунд. TCP соединения, требующие большего времени на установку, будут отменены. По умолчанию никакое время ожидания соединения не устанавливается, кроме значений, определённых системными библиотеками.

--read-timeout=seconds
Устанавливает время ожидания чтения (и записи) в seconds секунд. Чтение, требующее большего времени, будет неуспешным. Значение по умолчанию равно 900 секунд.

--limit-rate=amount
Устанавливает ограничение скорости скачивания в amount байт в секунду. Значение может быть выражено в байтах, килобайтах с суффиксом k или мегабайтах с суффиксом m. Например, --limit-rate=20k установит ограничение скорости скачивания в 20KB/s. Такое ограничение полезно, если по какой-либо причине вы не хотите, чтобы Wget не утилизировал всю доступную полосу пропускания. Wget реализует ограничение через sleep на необходимое время после сетевого чтения, которое заняло меньше времени, чем указанное в ограничении. В итоге такая стратегия приводит к замедлению скорости TCP передачи приблизительно до указанного ограничения. Однако, для установления баланса требуется определённое время, поэтому не удивляйтесь, если ограничение будет плохо работать для небольших файлов.

-w seconds
--wait=seconds
Ждать указанное количество seconds секунд между закачками. Использование этой функции рекомендуется для снижения нагрузки на сервер уменьшением частоты запросов. Вместо секунд время может быть указано в минутах с суффиксом m, в часах с суффиксом h или днях с суффиксом d.
Указание большого значения полезно, если сеть или хост назначения недоступны, так чтобы Wget ждал достаточное время для исправления неполадок сети до следующей попытки.

--waitretry=seconds
Если вы не хотите, чтобы Wget ждал между различными закачками, а только между попытками для сорванных закачек, можно использовать этот ключ. Wget будет линейно наращивать паузу, ожидая 1 секунду после первого сбоя для данного файла, 2 секунды после второго сбоя и так далее до максимального значения seconds. Таким образом, значение 10 заставит Wget ждать до (1 + 2 + ... + 10) = 55 секунд на файл. Этот ключ включён по умолчанию в глобальном файле wgetrc.

--random-wait
Некоторые веб-сайты могут анализировать логи для идентификации качалок, таких как Wget, изучая статистические похожести в паузах между запросами. Данный ключ устанавливает случайные паузы в диапазоне от 0 до 2 * wait секунд, где значение wait указывается ключом --wait. Это позволяет исключить Wget из такого анализа. В недавней статье на тему разработки популярных пользовательских платформ был представлен код, позволяющий проводить такой анализ на лету. Автор предлагал блокирование подсетей класса C для блокирования программ автоматического скачивания, несмотря на возможную смену адреса, назначенного DHCP. На создание ключа --random-wait подвигла эта больная рекомендация блокировать множество невиновных пользователей по вине одного.

-Y on/off
--proxy=on/off
Включает или выключает поддержку прокси. Если соответствующая переменная окружения установлена, то поддержка прокси включена по умолчанию.

-Q quota
--quota=quota
Устанавливает квоту для автоматических скачиваний. Значение указывается в байтах (по умолчанию), килобайтах (с суффиксом k) или мегабайтах (с суффиксом m). Квота не влияет на скачивание одного файла. Так если указать wget -Q10k ftp://htmlweb.ru/ls-lR.gz, файл ls-lR.gz будет скачан целиком. То же происходит при указании нескольких URL в командной строке. Квота имеет значение при рекурсивном скачивании или при указании адресов во входном файле. Т.о. можно спокойно указать wget -Q2m -i sites - закачка будет прервана при достижении квоты. Установка значений 0 или inf отменяет ограничения.

--dns-cache=off
Отключает кеширование запросов DNS. Обычно Wget запоминает адреса, запрошенные в DNS, так что не приходится постоянно запрашивать DNS сервер об одном и том же (обычно небольшом) наборе адресов. Этот кэш существует только в памяти. Новый процесс Wget будет запрашивать DNS снова. Однако, в некоторых случаях кеширование адресов не желательно даже на короткий период запуска такого приложения как Wget. Например, секоторые серверы HTTP имеют динамически выделяемые адреса IP, которые изменяются время от времени. Их записи DNS обновляются при каждом изменении. Если закачка Wget с такого хоста прерывается из-за смены адреса IP, Wget повторяет попытку скачивания, но (из-за кеширования DNS) пытается соединиться по старому адресу. При отключенном кешировании DNS Wget будет производить DNS-запросы при каждом соединении и, таким образом, получать всякий раз правильный динамический адрес. Если вам не понятно приведённое выше описание, данный ключ вам, скорее всего, не понадобится.

--restrict-file-names=mode
Устанавливает, какие наборы символов могут использоваться при создании локального имени файла из адреса удалённого URL. Символы, запрещённые с помощью этого ключа, экранируются, т.е. заменяются на %HH, где HH - шестнадцатиричный код соответствующего символа. По умолчанию Wget экранирует символы, которые не богут быть частью имени файла в вашей операционной системе, а также управляющие символы, как правило непечатные. Этот ключ полезен для смены умолчания, если вы сохраняете файл на неродном разделе или хотите отменить экранирование управляющих символов. Когда mode установлен в "unix", Wget экранирует символ / и управляющие символы в диапазонах 0-31 и 128-159. Это умолчание для Ос типа Unix. Когда mode установлен в "windows", Wget экранирует символы \, |, /, :, ?, ", *, и управляющие символы в диапазонах 0-31 и 128-159. Дополнительно Wget в Windows режиме использует + вместо : для разделения хоста и порта в локальных именах файлов и @ вместо ? для отделения запросной части имени файла от остального. Таким образом, адрес URL, сохраняемый в Unix режиме как www.htmlweb.ru:4300/search.pl?input=blah, в режиме Windows будет сохранён как www.htmlweb.ru+4300/[email protected]=blah. Этот режим используется по умолчанию в Windows. Если к mode добавить, nocontrol, например, unix,nocontrol, экранирование управляющих символов отключается. Можно использовать --restrict-file-names=nocontrol для отключения экранирования управляющих символов без влияния на выбор ОС-зависимого режима экранирования служебных символов.

Ключи каталогов

-nd
--no-directories
Не создавать структуру каталогов при рекурсивном скачивании. С этим ключом все файлы сохраняются в текущий каталог без затирания (если имя встречается больше одного раза, имена получат суффикс .n).

-x
--force-directories
Обратное -nd - создаёт структуру каталогов, даже если она не создавалась бы в противном случае. Например, wget -x http://htmlweb.ru/robots.txt сохранит файл в htmlweb.ru/robots.txt.

-nH
--no-host-directories
Отключает создание хост-каталога. По умолчания запуск Wget -r http://htmlweb.ru/ создаст структуру каталогов, начиная с htmlweb.ru/. Данный ключ отменяет такое поведение.

--protocol-directories
Использовать название протокола как компонент каталога для локальный файлов. Например, с этим ключом wget -r http://host сохранит в http/host/... вместо host/....

--cut-dirs=number
Игнорировать number уровней вложенности каталогов. Это полезный ключ для чёткого управления каталогом для сохранения рекурсивно скачанного содержимого. Например, требуется скачать каталог ftp://htmlweb.ru/pub/xxx/. При скачивании с -r локальная копия будет сохранена в ftp.htmlweb.ru/pub/xxx/. Если ключ -nH может убрать ftp.htmlweb.ru/ часть, остаётся ненужная pub/xemacs. Здесь на помощь приходит --cut-dirs; он заставляет Wget закрывать глаза на number удалённых подкаталогов. Ниже приведены несколько рабочих примеров --cut-dirs.

No options        -> ftp.htmlweb.ru/pub/xxx/
-nH               -> pub/xxx/
-nH --cut-dirs=1  -> xxx/
-nH --cut-dirs=2  -> .
--cut-dirs=1      -> ftp.htmlweb.ru/xxx/

Если вам нужно лишь избавиться от структуры каталогов, то этот ключ может быть заменён комбинацией -nd и -P. Однако, в отличии от -nd, --cut-dirs не теряет подкаталоги - например, с -nH --cut-dirs=1, подкаталог beta/ будет сохранён как xxx/beta, как и ожидается.

-P prefix
--directory-prefix=prefix
Устанавливает корневой каталог в prefix. Корневой каталог - это каталог, куда будут сохранены все файлы и подкаталоги, т.е. вершина скачиваемого дерева. По умолчанию . (текущий каталог).

Ключи HTTP

-E
--html-extension
Данный ключ добавляет к имени локального файла расширение .html, если скачиваемый URL имеет тип application/xhtml+xml или text/html, а его окончание не соответствует регулярному выражению \.[Hh][Tt][Mm][Ll]?. Это полезно, например, при зеркалировании сайтов, использующих .asp страницы, когда вы хотите, чтобы зеркало работало на обычном сервере Apache. Также полезно при скачивании динамически-генерируемого содержимого. URL типа http://site.com/article.cgi?25 будет сохранён как article.cgi?25.html. Сохраняемые таким образом страницы будут скачиваться и перезаписываться при каждом последующем зеркалировании, т.к. Wget не может сопоставить локальный файл X.html удалённому адресу URL X (он ещё не знает, что URL возвращает ответ типа text/html или application/xhtml+xml). Для предотвращения перезакачивания используйте ключи -k и -K, так чтобы оригинальная версия сохранялась как X.orig.

--http-user=user
--http-passwd=password
Указывает имя пользователя user и пароль password для доступа к HTTP серверу. В зависимости от типа запроса Wget закодирует их, используя обычную (незащищённую) или дайджест схему авторизации. Другой способ указания имени пользователя и пароля - в самом URL. Любой из способов раскрывает ваш пароль каждому, кто запустит ps. Во избежание раскрытия паролей, храните их в файлах .wgetrc или .netrc и убедитесь в недоступности этих файлов для чтения другими пользователями с помощью chmod. Особо важные пароли не рекомендуется хранить даже в этих файлах. Вписывайте пароли в файлы, а затем удаляйте сразу после запуска Wget.

--no-cache
Отключает кеширование на стороне сервера. В этой ситуации Wget посылает удалённому серверу соответствующую директиву (Pragma: no-cache) для получения обновлённой, а не кешированной версии файла. Это особенно полезно для стирания устаревших документов на прокси серверах. Кеширование разрешено по умолчанию.

--no-cookies
Отключает использование cookies. Cookies являются механизмом поддержки состояния сервера. Сервер посылает клиенту cookie с помощью заголовка Set-Cookie, клиент включает эту cookie во все последующие запросы. Т.к. cookies позволяют владельцам серверов отслеживать посетителей и обмениваться этой информацией между сайтами, некоторые считают их нарушением конфиденциальности. По умолчанию cookies используются; однако сохранение cookies по умолчанию не производится.

--load-cookies file
Загрузка cookies из файла file до первого запроса HTTP. file - текстовый файл в формате, изначально использовавшемся для файла cookies.txt Netscape. Обычно эта опция требуется для зеркалирования сайтов, требующих авторизации для части или всего содержания. Авторизация обычно производится с выдачей сервером HTTP cookie после получения и проверки регистрационной информации. В дальнейшем cookie посылается обозревателем при просмотре этой части сайта и обеспечивает идентификацию. Зеркалирование такого сайта требует от Wget подачи таких же cookies, что и обозреватель. Это достигается через --load-cookies - просто укажите Wget расположение вашего cookies.txt, и он отправит идентичные обозревателю cookies. Разные обозреватели хранят файлы cookie в разных местах: Netscape 4.x. ~/.netscape/cookies.txt. Mozilla and Netscape 6.x. Файл cookie в Mozilla тоже называется cookies.txt, располагается где-то внутри ~/.mozilla в директории вашего профиля. Полный путь обычно выглядит как ~/.mozilla/default/some-weird-string/cookies.txt. Internet Explorer. Файл cookie для Wget может быть получен через меню File, Import and Export, Export Cookies. Протестировано на Internet Explorer 5; работа с более ранними версиями не гарантируется. Other browsers. Если вы используете другой обозреватель, --load-cookies будет работать только в том случае, если формат файла будет соответствовать формату Netscape, т.е. то, что ожидает Wget. Если вы не можете использовать --load-cookies, может быть другая альтернатива. Если обозреватель имеет "cookie manager", то вы можете просмотреть cookies, необходимые для зеркалирования. Запишите имя и значение cookie, и вручную укажите их Wget в обход "официальной" поддержки:

wget --cookies=off --header "Cookie: name=value"

--save-cookies file
Сохранение cookies в file перед выходом. Эта опция не сохраняет истекшие cookies и cookies без определённого времени истечения (так называемые "сессионные cookies"). См. также --keep-session-cookies.

--keep-session-cookies
При указании --save-cookies сохраняет сессионные cookies. Обычно сессионные cookies не сохраняются, т.к подразумевается, что они будут забыты после закрытия обозревателя. Их сохранение полезно для сайтов, требующих авторизации для доступа к страницам. При использовании этой опции разные процессы Wget для сайта будут выглядеть как один обозреватель. Т.к. обычно формат файла cookie file не содержит сессионных cookies, Wget отмечает их временной отметкой истечения 0. --load-cookies воспринимает их как сессионные cookies, но это может вызвать проблемы у других обозревателей Загруженные таким образом cookies интерпретируются как сессионные cookies, то есть для их сохранения с --save-cookies необходимо снова указывать --keep-session-cookies.

--ignore-length
К сожалению, некоторые серверы HTTP (CGI программы, если точнее) посылают некорректный заголовок Content-Length, что сводит Wget с ума, т.к. он думает, что документ был скачан не полностью. Этот синдром можно заметить, если Wget снова и снова пытается скачать один и тот же документ, каждый раз указывая обрыв связи на том же байте. С этим ключом Wget игнорирует заголовок Content-Length, как будто его никогда не было.

--header=additional-header
Укажите дополнительный заголовок additional-header для передачи HTTP серверу. Заголовки должны содержать ":" после одного или более непустых символов и недолжны содержать перевода строки. Вы можете указать несколько дополнительных заголовков, используя ключ --header многократно.

wget --header='Accept-Charset: iso-8859-2' --header='Accept-Language: hr' http://aaa.hr/

Указание в качестве заголовка пустой строки очищает все ранее указанные пользовательские заголовки.

--proxy-user=user
--proxy-passwd=password
Указывает имя пользователя user и пароль password для авторизации на прокси сервере. Wget кодирует их, использую базовую схему авторизации. Здесь действуют те же соображения безопасности, что и для ключа --http-passwd.

--referer=url
Включает в запрос заголовок `Referer: url'. Полезен, если при выдаче документа сервер считает, что общается с интерактивным обозревателем, и проверяет, чтобы поле Referer содержало страницу, указывающую на запрашиваемый документ.

--save-headers
Сохраняет заголовки ответа HTTP в файл непосредственно перед содержанием, в качестве разделителя используется пустая строка.

-U agent-string
--user-agent=agent-string
Идентифицируется как обозреватель agent-string для сервера HTTP. HTTP протокол допускает идентификацию клиентов, используя поле заголовка User-Agent. Это позволяет различать программное обеспечение, обычно для статистики или отслеживания нарушений протокола. Wget обычно идентифицируется как Wget/version, где version - текущая версия Wget. Однако, некоторые сайты проводят политику адаптации вывода для обозревателя на основании поля User-Agent. В принципе это не плохая идея, но некоторые серверы отказывают в доступе клиентам кроме Mozilla и Microsoft Internet Explorer. Этот ключ позволяет изменить значение User-Agent, выдаваемое Wget. Использование этого ключа не рекомендуется, если вы не уверены в том, что вы делаете.

--post-data=string
--post-file=file
Использует метод POST для всех запросов HTTP и отправляет указанные данные в запросе. --post-data отправляет в качестве данных строку string, а --post-file - содержимое файла file. В остальном они работают одинаково. Пожалуйста, имейте в виду, что Wget должен изначально знать длину запроса POST. Аргументом ключа --post-file должен быть обычный файл; указание FIFO в виде /dev/stdin работать не будет. Не совсем понятно, как можно обойти это ограничение в HTTP/1.0. Хотя HTTP/1.1 вводит порционную передачу, для которой не требуется изначальное знание длины, клиент не может её использовать, если не уверен, что общается с HTTP/1.1 сервером. А он не может этого знать, пока не получит ответ, который, в свою очередь, приходит на полноценный запрос. Проблема яйца и курицы. Note: если Wget получает перенаправление в ответ на запрос POST, он не отправит данные POST на URL перенаправления. Часто URL адреса, обрабатывающие POST, выдают перенаправление на обычную страницу (хотя технически это запрещено), которая не хочет принимать POST. Пока не ясно, является ли такое поведение оптимальным; если это не будет работать, то будет изменено. Пример ниже демонстрирует, как авторизоваться на сервере, используя POST, и затем скачать желаемые страницы, доступные только для авторизованных пользователей:

wget --save-cookies cookies.txt --post-data 'user=foo&password=bar' http://htmlweb.ru/auth.php
wget --load-cookies cookies.txt -p http://server.com/interesting/article.php

Конфигурирование WGET

Основные настроки, которые необходимо писать каждый раз, можно указать в конфигурационном файле программы. Для этого зайдите в рабочую директорию Wget, найдите там файл sample.wgetrc, переименуйте его в .wgetrc и редакторе пропишите необходимые конфигурационные параметры.

user-agent = "Mozilla/5.0"
tries = 5 количество попыток скачать
wait = 0 не делать паузы
continue = on нужно докачивать
dir_prefix = ~/Downloads/ куда складывать скачаное
use_proxy=on - использовать прокси
http_proxy - характеристики вашего прокси-сервера.

Как под Windows заставить WGET читать настройки из wgetrc файла:

  • Задать переменную окружения WGETRC, указав в ней полный путь к файлу.
  • Задать переменную HOME, в которой указать путь к домашней папке пользователя (c:\Documents and settings\jonh). Тогда wget будет искать файл "wgetrc" в этой папке.
  • Кроме этого можно создать файл wget.ini в той же папке, где находится wget.exe, и задать там дополнительные параметры командной строки wget.

Полезную информацию по WGET можно почерпнуть здесь:

wget | Русскоязычная документация по Ubuntu

wget — текстовая программа для скачивания файлов.

Если возможностей wget не хватает, то можно использовать curl.

Примеры

Просто скачать файл wget-ом:

wget ftp://vasya.pupkin.com/film.avi

Для продолжения оборвавшейся закачки пишем:

wget -c ftp://vasya.pupkin.com/film.avi

или

wget --continue ftp://vasya.pupkin.com/film.avi

Как и в других программах, ключи имеют короткую и длинную формы, и вместо можно написать -continue. Длинные ключи проще запомнить, но дольше писать. Можно легко смешивать различные формы написания.

Чтобы выкачать файлы из списка, содержащего прямые ссылки:

wget -i pupkinlist.txt

или

wget --input-file=pupkinlist.txt

Здесь указывается только файл, в котором содержатся ссылки. Файл может так же быть HTML-страницей, в которой есть ссылки. Они будут выкачаны указанной выше командой.

Использование а-ля «Teleport Pro for Linux».

При скачивании веб-сайтов возможностей больше, и поэтому требуется больше ключей. Опять-таки, запоминать их все не обязательно, можно сделать скрипт (а лучше несколько - под разные случаи) и вызывать их.

Так вот, если имеется веб-сайт, и хотелось бы иметь его локальную копию на компьютере, чтобы, отключившись от сети, можно было не торопясь его почитать.

Зеркалирование сайтов на локальную машину:

wget -m http://www.vasyapupkin.com/

-m эквивалентно -r -N -l inf -nr, эти опции описаны ниже.

При этом ссылки останутся абсолютными - то есть, будут указывать на Интернет-адреса, и удобно просматривать на локальной машине будет затруднительно.

Копирование сайта для локального просмотра (с заменой интернет-ссылок на локальные адреса скачанных страниц):

wget -r -l0 -k http://www.vasyapupkin.com/

При этом будет включена рекурсивная выгрузка (ключ -r, –recursive),

Опции

В wget имеется большое количество полезных опций - побольше, чем у Teleport'а флажков. Будучи завёрнутым в скрипт, например, teleport и положенным на видное место (указанное в PATH), имеем удобство применения и богатство настроек.

-np, –no-parent — не подниматься выше начального адреса при рекурсивной загрузке.

-r, –recursive — включить рекурсивный просмотр каталогов и подкаталогов на удалённом сервере.

-l <depth>, –level=<depth> — определить максимальную глубину рекурсии равной depth при просмотре каталогов на удалённом сервере. По умолчанию depth=5.

-np, –no-parent — не переходить в родительский каталог во время поиска файлов. Это очень полезное свойство, поскольку оно гарантирует, что будут копироваться только те файлы, которые расположены ниже определённой иерархии.

-A <acclist>, –accept <acclist>, -R <rejlist>, –reject <rejlist> — список имен файлов, разделенных запятыми, которые следует (accept) или не следует (reject) загружать. Разрешается задание имен файлов по маске.

-k, –convert-links — превратить абсолютные ссылки в HTML документе в относительные ссылки. Преобразованию подвергнутся только те ссылки, которые указывают на реально загруженные страницы; остальные не будут преобразовываться. Заметим, что лишь в конце работы wget сможет узнать какие страницы были реально загружены. Следовательно, лишь в конце работы wget будет выполняться окончательное преобразование.

–http-user=<user>, –http-passwd=<password> — указать имя пользователя и пароль на HTTP-сервере.

-H, –span-hosts — разрешает посещать любые сервера, на которые есть ссылка.

-p, –page-requisites — загружать все файлы, которые нужны для отображения страниц HTML. Например: рисунки, звук, каскадные стили (CSS). По умолчанию такие файлы не загружаются. Параметры -r и -l, указанные вместе могут помочь, но т.к. wget не различает внешние и внутренние документы, то нет гарантии, что загрузится все требуемое.

Ссылки

Как пользоваться программой wget

Для закачки со Всемирной Паутины изображений, страничек, файлов применяют инструмент — WGET.

Он разрабатывался первоночально для ОС Linux and Unix, как инструмент командной строки, в последствии портированный на Windows. Его можно применять как инструмент для скачивания сайта полностью, со всеми изображениями и файлами. Содержимое будет находится у вас на винчестере. Такой инструмент полезен при резервном копировании сайта.

Инструкции

1. Скачиваем и извлекаем «WGET» для ОС «Windows» с сайта gnuwin32.sourceforge.net.

2. Жмем «Все программы» в меню «Пуск».

3. Жмем опцию «Стандартные».

4. Жмем «Командная строка», для открытия соответствующего окна.

5. Введим «path» (без кавычек) в командную строку, для того чтоб определить каталог, в который мы поместим файл «Wget.exe», после этого его можно запускать при помощи одной команды. У вас получиться примерно такое: «c:Windowssystem32;c:Windows».

6. Копируем распакованный файл «wget.exe» в папку «Windowssystem32», либо в папку «Windows».

7. Введим в командную строку «wget -h», чтобы убедиться в том, что приложение запускается.

Приветствую тебя на моем блоге bordyshev.ru! В этой статье мы разберем как установить программу wget на windows и настроить ее. Итак садись поудобнее, мы начинаем)

Скачиваем wget для windows

Для начала чтобы установить wget на виндовс нам нужно его скачать, не так ли? Переходим по этой ссылке и видим что все написано по анг. кто незнает куда жать специально для вас я сделал скриншот.

Download setup wget

Установка wget на windows

После загрузки утилиты wget запустите exe-шник. В самом установщике жмите всегда далее, думаю не промахнетесь:) По умолчанию путь установки программы будет такой — C:Program Files (x86)GnuWin32

Запуск утилиты wget

Самое время запускать и тестить ее!) Для этого нам понадобится консоль, вызвать ее можно нажав кнопки на клавиатуре «Win+R» и ввести в окошечке команду «cmd» и перед вами должно открыться нужная нам консоль. В ней мы прописываем вот эту строчку:

path C:Program Files (x86)GnuWin32in и жмем «Enter»

Или же находим на своем windows саму утилиту wget по этому же адресу и мышкой переносим этот файлик в консоль и жмем «Enter»

Команды wget для windows

Давайте откроем небольшую инструкцию под названием — как скачать сайт целиком на windows!

Я уже писал ранее статью о командах wget и повторю здесь самые основные:

wget -r -k -l 7 -p -E -nc http://site.com/ — скачивает сайт целиком и полностью

-rуказывает на то, что нужно рекурсивно переходить по ссылкам на сайте, чтобы скачивать страницы.
-kиспользуется для того, чтобы wget преобразовал все ссылки в скаченных файлах таким образом, чтобы по ним можно было переходить на локальном компьютере (в автономном режиме).
-pуказывает на то, что нужно загрузить все файлы, которые требуются для отображения страниц (изображения, css и т.д.).
-lопределяет максимальную глубину вложенности страниц, которые wget должен скачать (по умолчанию значение равно 5, в примере мы установили 7). В большинстве случаев сайты имеют страницы с большой степенью вложенности и wget может просто «закопаться», скачивая новые страницы. Чтобы этого не произошло можно использовать параметр -l.
-Eдобавлять к загруженным файлам расширение .html.
-ncпри использовании данного параметра существующие файлы не будут перезаписаны. Это удобно, когда нужно продолжить загрузку сайта, прерванную в предыдущий раз.

Да кстати, иногда wget может ругаться на некоторые сертификаты(самоподписанные например) для этого существует команда:
—no-check-certificate

Куда wget сохраняет файлы в windows

Стандартный путь до скаченных файлов такой — C:UsersUsernamesite.com

Ну что же, про мощь и возможности утилиты wget можно рассказывать долго и упорно. Это действительно отличная программа для скачивания файлов и даже полностью сайтов. Сам ей регулярно пользуюсь, и вам советую в ней разобраться!) На этом моя небольшая статья заканчивается, если возникнут вопросы задавайте, буду рад на них ответить! До следующей статьи.

Все мы иногда качаем файлы из интернета. Если для этого использовать программы с графическим интерфейсом, то всё оказывается предельно просто. Однако, при работе в командной строке Linux дело несколько усложняется. Особенно — для тех, кто не знаком с подходящими инструментами. Один из таких инструментов — чрезвычайно мощная утилита wget, которая подходит для выполнения всех видов загрузок. Предлагаем вашему вниманию двенадцать примеров, разобрав которые, можно освоить основные возможности wget.

1. Загрузка одного файла

Если всё, что нужно — это загрузка одного файла, нам подойдёт следующая конструкция:

После ввода такой команды начнётся скачивание Nagios Core. В ходе этого процесса можно будет видеть данные о загрузке, например — сведения о том, какой объём данных уже загружен, текущую скорость, и то, сколько времени осталось до конца загрузки.

2. Загрузка файла и сохранение его с новым именем

Если мы хотим сохранить загруженный файл под именем, отличающимся от его исходного имени, нам пригодится команда wget с параметром -O :

При таком подходе загруженный файл будет сохранён под именем nagios_latest .

3. Ограничение скорости загрузки файлов

При необходимости скорость загрузки файлов с помощью wget можно ограничить. В результате эта операция не будет занимать весь доступный канал передачи данных и не повлияет на другие процессы, связанные с сетью. Сделать это можно, используя параметр —limit-rate и указав ограничение скорости, выраженное в байтах (в виде обычного числа), килобайтах (добавив после числа K ) или мегабайтах ( M ) в секунду:

Здесь задано ограничение скорости загрузки, равное 500 Кб/с.

4. Завершение прерванной загрузки

Если в ходе загрузки файлов эта операция была прервана, можно возобновить загрузку с помощью параметра -c команды wget :

Если этот параметр не использовать, то загрузка недокачанного файла начнётся сначала.

5. Фоновая загрузка файла

Если вы загружаете файл огромного размера и хотите выполнять эту операцию в фоне, сделать это можно, используя параметр -b :

6. Загрузка нескольких файлов

Если имеется список URL файлов, которые надо загрузить, но вам не хочется вручную запускать загрузки этих файлов, можно использовать параметр -I . Однако, перед тем, как начинать загрузку, нужно создать файл, содержащий все адреса. Например, сделать это можно такой командой:

В этот файл нужно поместить адреса — по одному в каждой строке. Далее, осталось лишь запустить wget , передав этой утилите только что созданный файл со списком загрузок:

Выполнение этой команды приведёт к поочерёдной загрузке всех файлов из списка.

7. Увеличение общего числа попыток загрузки файла

Для того, чтобы настроить число повторных попыток загрузки файла, можно использовать параметр —tries :

8. Загрузка файлов с FTP-сервера

Команда загрузки файла с анонимного FTP-сервера с помощью wget выглядит так:

Если для доступа к файлу требуются имя пользователя и пароль, то команда примет такой вид:

9. Создание локальной копии веб-сайта

Если нужно загрузить содержимое целого веб-сайта, сделать это можно, воспользовавшись параметром —mirror :

Обратите внимание на дополнительные параметры командной строки:

  • -p : производится загрузка всех файлов, необходимых для корректного отображения HTML-страниц.
  • —convert-links : ссылки в документах будут преобразованы для целей локального просмотра сайта.
  • -P /home/dan : материалы будут сохранены в папку /home/dan .

10. Загрузка с сайта только файлов определённого типа

Для того, чтобы загрузить с сайта только файлы определённого типа, можно воспользоваться параметрами -r -A :

11. Пропуск файлов определённого типа

Если вы хотите скопировать целый веб-сайт, но при этом вам не нужны файлы определённого типа, отключить их загрузку можно с помощью параметра —reject :

12. Загрузка с использованием собственного .log-файла

Для того, чтобы загрузить файл и использовать при этом собственный .log -файл, воспользуйтесь параметром -o и укажите имя файла журнала:

Итоги

Wget — довольно простая в использовании, но весьма полезная утилита Linux. И, на самом деле то, о чём мы рассказали — лишь малая часть того, что она умеет. Надеемся, этот обзор поможет тем, кто не был знаком с wget, оценить эту программу, и, возможно, включить её в свой повседневный арсенал инструментов командной строки.

Уважаемые читатели! Пользуетесь ли вы инструментами командной строки Linux для загрузки файлов? Если да — просим о них рассказать.

wget для Windows

Что такое wget?

Это утилита командной строки для получения файлов с использованием HTTP, HTTPS и FTP протоколов.

Как установить wget на компьютер с ОС Windows?

Вариант, которым пользуюсь сам, это скачать архив с уже скомпилированными бинарными файлами GNU Wget 0

Сайт wget

После того как скачали архив, в любом месте создаём папку wget, например в

C:\Program Files\wget
и в эту папку распаковываем всё содержимое скачанного архива.

Чтобы программа свободно вызывалась отовсюду нужно добавить путь в переменную среды Path операционной системы Windows. Для этого заходим в

Панель управления > Система
Путь в системе

В зависимости какая разрядность у вашей установленной Windows, запускайте 32-битную либо 64-битную версию программы, wget либо wget64 соответственно.

Обратите внимание, что начиная с версии wget 1.20 прекращена поддержка Windows XP.

Примеры команд для wget:

Скачать файл с докачкой по протоколу http
wget -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=КОМАНДА   выполнить команду в стиле <.wgetrc>

Журналирование и входной файл:
  -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=ИМЯ      изменить имя страницы по умолчанию (обычно
                               это <index.html>)
  -E,  --adjust-extension      сохранять документы HTML/CSS с надлежащими
                               расширениями
       --ignore-length         игнорировать поле заголовка <Content-Length>
       --header=СТРОКА         вставить СТРОКУ между заголовками
       --compression=TYPE          choose compression, one of auto, gzip and none. (default: none)
       --max-redirect          максимально допустимое число перенаправлений
                               на страницу
       --proxy-user=ПОЛЬЗОВ.   установить ПОЛЬЗОВАТЕЛЯ в качестве имени
                               пользователя для прокси
       --proxy-password=ПАРОЛЬ   установить ПАРОЛЬ в качестве пароля для
                               прокси
       --referer=URL           включить в HTTP-запрос заголовок <Referer: URL>
       --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     использовать метод <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,
                                 начинающихся с <sha256//> и разделённых <;>,
                                 по которым проверяется ответный узел

Параметры HSTS:
       --no-hsts               отключить HSTS
       --hsts-file             путь к базе данных HSTS (заменит значение
                               по умолчанию)

Параметры FTP:
       --ftp-user=ПОЛЬЗОВАТЕЛЬ установить ftp-пользователя в ПОЛЬЗОВАТЕЛЬ
       --ftp-password=ПАРОЛЬ   установить ftp-пароль в ПАРОЛЬ
       --no-remove-listing     не удалять файлы <.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                 не подниматься в родительский каталог

Еще записи по теме

Отправить ответ

avatar
  Подписаться  
Уведомление о