Wget
GNU Wget | |||
---|---|---|---|
![]() | |||
![]() | |||
Тип | менеджер загрузок | ||
Автор | Hrvoje Nikšić[1] | ||
Разработчики | Mauro Tortonesi, Giuseppe Scrivano и др. | ||
Написана на | Си[3] | ||
Интерфейс | командная строка | ||
Операционные системы |
UNIX-подобные, Windows |
||
Языки интерфейса | русский и ещё 38 языков | ||
Первый выпуск | январь 1996 | ||
Последняя версия | |||
Репозиторий |
git.savannah.gnu.org/cgi… git.savannah.gnu.org/git… |
||
| |||
Состояние | активное | ||
Лицензия | |||
Сайт | gnu.org/software/wget/ | ||
![]() |
Wget
Wget является неинтерактивной программой. Это означает, что после её запуска пользователь может повлиять на её работу только с помощью средств управления процессами операционной системы. Как правило, для этого используются сочетания клавиш Ctrl+C при необходимости прерывания работы программы и Ctrl+Z для помещения текущего задания в фон. Современные
Wget позволяет загружать любые файлы во всемирной паутине (в том числе и (X)HTML-страницы) по протоколам http и https, а также файлы и списки каталогов по протоколу ftp.
Файлы можно скачивать рекурсивно по ссылкам в HTML-страницах, как с одного сайта с определённой глубиной следования по ссылкам, так и с нескольких. Помимо этого, при загрузке по ftp файлы можно скачивать «по маске» имени (то есть можно задавать с помощью «*» группу файлов).
Wget поддерживает докачку файла в случае обрыва соединения.
Ведётся разработка продолжения Wget — Wget2[7].
Примеры
Загрузка всех URL, указанных в локальном или внешнем ФАЙЛЕ:
wget -i ФАЙЛ
Скачивание файлов в указанный каталог (-P)[8]:
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
Скачивание без проверки сертификата (--no-check-certificate):
wget --no-check-certificate 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[9], в случае ошибки возвращает от 1 до 8, в зависимости от вида.
Критика
Разработка Wget идёт медленно, многие новые расширения протоколов HTTP, FTP, сценарии JavaScript и другие функции не поддерживаются.
В некоторых случаях хорошей альтернативой может являться cURL, а для создания зеркал сайтов (чего cURL не умеет[10]) обычно используется rsync. В версии 1.17 и выше обязательна поддержка SSE2-инструкций процессором.
wget2
Следующее значительное обновление Wget должно произойти в wget2, который, предположительно, должен прийти ему на смену. wget2 обладает значительным количеством усовершенствований по сравнению с Wget, в первую очередь касающихся производительности:
- Поддержка HTTP/2
- HTTP-сжатие
- Параллельные соединения
- TCP Fast Open
и рядом других.
Основным разработчиком wget2 является Тим Рюсен (Tim Rühsen), также являющийся одним из основных разработчиков и текущих майнтейнеров Wget.
Клоны
Для встроенных систем характерен ограниченный размер памяти и для них есть клоны, которые имитируют интерфейс и поведение GNU Wget, но имеют меньше опций, в основном, только скачивание файла:
- OpenWrt uclient-fetch Архивная копия от 6 октября 2021 на Wayback Machine
- BusyBox wget Архивная копия от 6 октября 2021 на Wayback Machine
- ToyBox wget Архивная копия от 6 октября 2021 на Wayback Machine
См. также
Примечания
- ↑ Домашняя страница Wget. Дата обращения: 6 октября 2021. Архивировано 15 сентября 2021 года.
- ↑ Shah D. wget-1.24.5 released [stable] — 2024.
- ↑ The wget Open Source Project on Open Hub: Languages Page — 2006.
- ↑ https://www.gnu.org/software/wget/
- ↑ https://git.savannah.gnu.org/cgit/wget.git/tree/README
- *nix-системах соглашений в командной строке эта программа вызывается словом, начинающимся со строчной буквы:
wget
- ↑ wget2 on Gitlab Архивная копия от 1 марта 2018 на Wayback Machine (англ.)
- ↑ Руководство GNU wget . Дата обращения: 6 октября 2021. Архивировано 6 октября 2021 года.
- ↑ wget manual Архивная копия от 6 октября 2021 на Wayback Machine Возвращаемый статус (en)
- ↑ cURL FAQ Архивная копия от 6 октября 2021 на Wayback Machine: «Curl is not a web site mirroring program.»
Ссылки
- Домашняя страница Wget Архивная копия от 15 сентября 2021 на Wayback Machine
- Пакет man-pages-ru из ALT Linux, содержащий перевод man-страницы Wget на русский. Архивная копия от 7 октября 2021 на Wayback Machine
- Документация на русском языке Архивная копия от 6 октября 2021 на Wayback Machine // Opennet
- Ветка обсуждения на ru-board Архивная копия от 6 октября 2021 на Wayback Machine