Wget что это за программа

Содержание

Ubuntu. Использование команды Wget

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

Что такое Wget

Wget — консольная программа для загрузки файлов из интернета, позволяющая скачивать файлы по протоколам HTTP, HTTPS и FTP.

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

Установка Wget

В большинстве дистрибутивов Linux пакет wget предустановлен по умолчанию.

Но если wget отсутствует в системе, то его можно загрузить при помощи менеджера пакетов.

Установка Wget в Ubuntu и Debian

sudo apt-get install wget

Установка Wget в CentOS и Fedora

sudo yum install wget

Синтаксис команд для Wget

Перед началом использования консольной утилиты wget стоит ознакомиться с используемым ей форматом команд.

Ubuntu. Как загрузить сайт целиком? Программа wget

В общем случае синтаксис команд для wget выглядит так:

wget [options] [url]

где «options» — дополнительные опции, а «url» — ссылка на файл или директорию, которую вы хотите скачать.

Как скачать файл при помощи Wget

Простейший вариант использования wget — скачивание файла в текущую директорию без всяких опций.

В качестве примера рассмотрим команду для скачивания архива с ядром Linux:

wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.17.2.tar.xz

При ее использовании wget определяет сопоставляет домен с IP-адресом сервера, подключается к этому серверу и начинает загрузку данных.

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

Чтобы не выводить всю эту информацию в консоль можно запустить wget с опцией -q:

wget -q https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.17.2.tar.xz

А если файл с таким именем уже существует, то wget сохранит его копию, добавив после оригинального названия цифровой номер.

Как сохранить скачиваемый файл под другим именем

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

wget -O latest-hugo.zip https://github.com/gohugoio/hugo/archive/master.zip

В данном примере с GitHub скачивается архив с движком Hugo (master.zip) и сохраняется на компьютере под названием latest-hugo.zip

Как скачать файл в определенную директорию

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

wget -P /mnt/iso http://mirrors.mit.edu/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1804.iso

В данном примере файл с образом дистрибутива CentOS 7 будет скачан в директорию /mnt/iso/.

Офигенная програмулька WGET помогает выкачивать тысячи фоток за пару минуток

Как ограничить скорость скачивания

Для ограничения скорости загрузки можно воспользоваться опцией —limit-rate (обратите внимание: два дефиса в начале), указав предел допустимой скорости в байтах, килобайтах (суффикс k) или мегабайтах (суффикс m):

wget —limit-rate=1m https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz
wget —limit-rate=1024k https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz

В вышеприведенных примерах скорость загрузки будет ограничена до 1 мегабайта или 1024 килобайт в секунду.

Как возобновить загрузку

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

wget -c http://releases.ubuntu.com/18.04/ubuntu-18.04-live-server-amd64.iso

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

Как скачивать файлы в фоне

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

wget -b https://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso

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

Как изменить User-Agent при скачивании

В некоторых случаях удаленный сервер может блокировать доступ для нестандартных User-Agent, используемых ботами или утилитами вроде wget.

Как быть в таких ситуациях? Эмулировать User-Agent какого-нибудь распространенного браузера при помощи опции -U:

wget —user-agent=»Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0″ http://wget-forbidden.com/

В примере выше wget будет скачивать содержимое сайта http://wget-forbidden.com/, эмулируя браузер Firefox 60.

Читайте также:
Qpdfview что это за программа

Как скачивать сразу несколько файлов

Для одновременной загрузки нескольких файлов можно воспользоваться опцией -i и задать путь к текстовому файлу со списку URL для загрузки:

wget -i linux-distros.txt

Содержимое файла linux-distros.txt может выглядеть следующим образом:

http://mirrors.edge.kernel.org/archlinux/iso/2018.06.01/archlinux-2018.06.01-x86_64.iso https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-9.4.0-amd64-netinst.iso https://download.fedoraproject.org/pub/fedora/linux/releases/28/Server/x86_64/iso/Fedora-Server-dvd-x86_64-28-1.1.iso

Каждый URL в списке должен начинаться с новой строки.

Как скачивать файлы по FTP

Для скачивания файлов с требующего авторизации FTP-сервера нужно указать свой логин и пароль:

wget —ftp-user=ВАШ_ЛОГИН —ftp-password=ВАШ_ПАРОЛЬ ftp://ftp.example.com/filename.tar.gz

Как скачать сайт при помощи Wget

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

wget -m https://example.com

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

wget -m -k -p https://example.com

Опция -k нужна для того, чтобы wget автоматически сконвертировал все гиперссылки в загружаемых HTML-файлах для их работоспособности оффлайн. А опция -p включает в список объектов для скачивания необходимые для правильного отображения сайта ресурсы, вроде скриптов (JavaScript) и таблиц стилей CSS.

Как пропустить проверку SSL-сертификата

Если нужно скачать файл по HTTPS-протоколу с ресурса, обладающего некорректным SSL-сертификатом (распространенный пример — владелец поставил вручную бесплатный сертификат от Let’s Encrypt и забыл продлить его спустя три месяца), то можно воспользоваться опцией —no-check-certificate (опять-таки, два дефиса в начале):

wget —no-check-certificate https://invalid-ssl-website.com

Заключение

Несмотря на кажущуюся незамысловатость, wget — довольно навороченная утилита.

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

Если этого недостаточно — можно ознакомиться с официальным руководством по Wget.

Источник: dmitrysnotes.ru

Как использовать команду Wget с примерами

Wget — это бесплатная утилита командной строки GNU, используемая для загрузки файлов из Интернета. Она извлекает файлы с использованием протоколов HTTP, HTTPS и FTP.

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

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

Команда wget очень гибкая и может использоваться в терминалах, скриптах и cron-задачах. Во время загрузки пользователю не обязательно быть активным или авторизованным. Поскольку wget может работать независимо в фоновом режиме.

Как проверить, установлен ли wget?

Скорее всего, пакет wget уже есть в вашей системе, так как сейчас он предустановлен в большинстве дистрибутивов Linux.

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

wget

Если у вас установлен wget, вы увидите сообщение, что команде wget не хватает URL-адреса, как показано на изображении ниже:

Если в выводе отображается команда wget command not found , вам необходимо загрузить и установить инструмент вручную. Ниже вы найдете инструкции по установке для Ubuntu / Debian, CentOS и Windows.

Как установить wget на Ubuntu / Debian?

Чтобы установить wget в системах Ubuntu или Debian, используйте команду:

sudo apt-get install wget

Как установить wget на CentOS / Fedora?

Чтобы установить wget на CentOS или Fedora, введите следующую команду:

sudo yum install wget

Синтаксис wget

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

wget [option][URL]

Каждая [option] имеет свою длинную и короткую форму, которые удобно заменять. Этот атрибут указывает, что делать со следующим URL-адресом.

[URL] — это адрес файла или каталога, который вы хотите загрузить.

Список основных команд wget

  • -V(—version) — выводит версию программы
  • -h (—help) — выводит справку
  • -b(—background) — работать в фоновом режиме
  • -o(—out-file) — указывает лог файл
  • -d(—debug) — включает режим отладки
  • -v (—verbose) — выводит максимум информации о работе утилиты
  • -q (—quiet) — выводит минимум информации о работе
  • -ifile> (—input-file) — читает URL из файла
  • —force-html — читает файл указанный в предыдущем параметре как html
  • -t (—tries) — количество попыток подключения к серверу
  • -O file>(—output-document) — файл в который будут сохранены полученные данные
  • -с (—continue) — продолжает ранее прерванную загрузку
  • -S (—server-response) — выводит ответ сервера
  • —spider — проверяет работоспособность URL
  • -T time> (—timeout) — таймаут подключения к серверу
  • —limit-rate — ограничивает скорость загрузки
  • -w (—wait) — интервал между запросами
  • -Q(—quota) — максимальный размер загрузки
  • -4 (—inet4only) — использовать протокол ipv4
  • -6 (—inet6only) — использовать протокол ipv6
  • -U (—user-agent) — строка USER AGENT отправляемая серверу
  • -r (—recursive) — рекурсивная работа утилиты
  • -l (—level) — глубина при рекурсивном сканировании
  • -k(—convert-links) — конвертирует ссылки в локальные при загрузке страниц
  • -P (—directory-prefix) — каталог, в который будут загружаться файлы
  • -m(—mirror) — скачивает сайт на локальную машину
  • -p(—page-requisites) — во время загрузки сайта скачивает все необходимые ресурсы

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

Как скачать файл из Интернета

Чтобы загрузить файл из Интернета, используйте пример:

wget http://apache.cs.utah.edu/tomcat/tomcat-9/v9.0.20/bin/apache-tomcat-9.0.20.tar.gz

Как скачать файл и сохранить с другим названием

Параметр -O устанавливает имя выходного файла. Если файл называется terraform_0.12.2_linux_amd64.zip , и вы хотите сохранить его непосредственно в terraform.zip , вы должны использовать такую команду:

wget –O terraform.zip https://releases.hashicorp.com/terraform/0.12.2/terraform_0.12.2_linux_amd64.zip

Как сохранить файл в конкретный каталог

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

wget –P /temp https://github.com/git/git/archive/master.zip

Как установить скорость загрузки

Вы можете установить скорость загрузки при скачивании большого файла, чтобы он не использовал всю доступную пропускную способность. Скорость загрузки определяется в килобайтах (k) и мегабайтах (m). Используйте команду:

wget —limit-rate 1m http://us.download.nvidia.com/tesla/396.37/nvidia-diag-driver-local-repo-ubuntu1710-396.37_1.0-1_amd64.deb

Как продолжить загрузку после прерывания

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

Читайте также:
Com huawei game kitserver что это за программа

wget –c https://github.com/mumble-voip/mumble/releases/download/1.2.19/murmur-static_x86-1.2.19.tar.bz2

Как скачать несколько файлов

  • Сначала создайте и откройте файл с именем MultipleDownloads.txt (или другим именем по вашему выбору) с помощью текстового редактора.:
  • В редакторе добавьте URL-адреса, которые вы хотите загрузить, по одному в каждой строке.
  • Сохраните и выйдите из файла.
  • Выполните следующую команду wget в окне терминала:

wget –i MultipleDownloads.txt

Как загрузить зеркало веб-страницы

С помощью wget вы можете загрузить весь веб-сайт из Интернета, используя параметр –m . Он предлагает wget создать зеркало указанной веб-страницы. Основная команда для этого:

Как скачать через FTP

Чтобы загрузить через FTP, введите имя пользователя и пароль FTP-сервера, а затем ftp-адрес:

wget —ftp-user=sofiftp —ftp-password=TopSecretPassword ftp://123.456.7890

Как скачать в фоновом режиме

Вы можете использовать функцию загрузки в фоновом режиме при работе с большими файлами:

wget –b http://some_website/sample_file.rpm

Как увеличить число попыток повтора

По умолчанию количество повторных попыток установлено на 20.

Вы также можете установить число на бесконечность со значениями 0 или inf, как в следующем примере:

wget —tries=inf http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo

Как пропустить проверку сертификата

По умолчанию wget проверяет, есть ли у сервера действительный сертификат SSL / TLS. Если он не идентифицирует подлинный сертификат, он отказывается от загрузки.

Параметр —no-check-certificate используется, чтобы отменить проверку сертификата. Однако используйте его только в том случае, если вы уверены в надежности веб-сайта или не беспокоитесь о проблемах безопасности, которые он может вызвать.

wget —no-check-certificate http://enteratonerisk.com

Как изменить User Agent

При загрузке веб-страницы wget по сути эмулирует браузер. В некоторых случаях в выводе может быть указано, что у вас нет разрешения на доступ к серверу или что соединение запрещено. Это может быть связано с тем, что веб-сайт блокирует клиентские браузеры с определенным «User-Agent».

«User-Agent» — это поле заголовка, которое браузер отправляет на сервер, к которому он хочет получить доступ. Поэтому для загрузки с сервера, который отказывается подключаться, попробуйте его изменить.

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

wget —user-agent=” Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36” “https://phoenixnap.com”

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 5 / 5. Количество оценок: 1

Оценок пока нет. Поставьте оценку первым.

Источник: artzolin.ru

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

Команда 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

Источник: pingvinus.ru

1. Скачивание страницы

Если все подключилось, то wget загрузит домашнюю страницу и покажет результат, как показано ниже:

wget github.com URL transformed to HTTPS due to an HSTS policy —2020-02-23 10:45:52— https://github.com/ Resolving github.com (github.com). 140.82.118.3 Connecting to github.com (github.com)|140.82.118.3|:443. connected. HTTP request sent, awaiting response. 200 OK Length: unspecified [text/html] Saving to: ‘index.html’ index.html [ ] 131.96K —.-KB/s in 0.04s 2020-02-23 10:45:52 (2.89 MB/s) — ‘index.html’ saved [135126]

2. Скачивание нескольких файлов

Круто, если можно загрузить сразу несколько файлов.

Это, кстати, идея для написания какого-нибудь скрипта для автоматизации загрузки файлов, подумайте на досуге.

Попробуем скачать архивы с Python 3.8.1 и 3.5.1:

wget https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tgz https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tgz

Как вы уже догадались, синтаксис такой:

wget URL1 URL2 URL3

Не забывайте про пробел между ссылками!

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

Ограничить скорость загрузки полезно, когда стоит задача проверить, сколько времени занимает загрузка файла на разной пропускной способности.

Используя опцию — limit-rate , вы можете ограничить скорость загрузки.

Вот результат загрузки файла Node.js:

wget https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-x64.tar.xz —2020-02-23 10:59:58— https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-x64.tar.xz Resolving nodejs.org (nodejs.org). 104.20.23.46, 104.20.22.46, 2606:4700:10::6814:162e, . Connecting to nodejs.org (nodejs.org)|104.20.23.46|:443. connected. HTTP request sent, awaiting response. 200 OK Length: 14591852 (14M) [application/x-xz] Saving to: ‘node-v12.16.1-linux-x64.tar.xz’ node-v12.16.1-linux-x64.tar.xz 100%[===========================================================================================>] 13.92M —.-KB/s in 0.05s 2020-02-23 10:59:58 (272 MB/s) — ‘node-v12.16.1-linux-x64.tar.xz’ saved [14591852/14591852]

Потребовалось 0.05 с, чтобы скачать 13.92 Мб. Теперь попробуем ограничить скорость до 500 Кб/с:

wget —limit-rate=500k https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-x64.tar.xz —2020-02-23 11:00:18— https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-x64.tar.xz Resolving nodejs.org (nodejs.org). 104.20.23.46, 104.20.22.46, 2606:4700:10::6814:162e, . Connecting to nodejs.org (nodejs.org)|104.20.23.46|:443. connected. HTTP request sent, awaiting response.

200 OK Length: 14591852 (14M) [application/x-xz] Saving to: ‘node-v12.16.1-linux-x64.tar.xz.1’ node-v12.16.1-linux-x64.tar.xz.1 100%[===========================================================================================>] 13.92M 501KB/s in 28s 2020-02-23 11:00:46 (500 KB/s) — ‘node-v12.16.1-linux-x64.tar.xz.1’ saved [14591852/14591852]

Скорость загрузки упала до 28 с. Представьте себе ситуацию – юзеры жалуются на медленную загрузку. Вы можете быстро поиграться с limit-rate для имитации проблемы.

4. Загрузка в фоне

Загрузка больших файлов может занять некоторое время, но что если вы не хотите смотреть в терминал?

Можно использовать ключ -b , чтобы запустить wget в фоновом режиме:

wget -b https://slack.com Continuing in background, pid 25430. Output will be written to ‘wget-log.1’.

5. Игнорирование ошибки сертификата

Игнорирование ошибки сертификата удобно, когда вам нужно обратиться к узлу во внешней сети без соответствующего сертификата.

Если сертификат не является валидным, по умолчанию wget выдаст ошибку.

wget https://expired.badssl.com/ —2020-02-23 11:24:59— https://expired.badssl.com/ Resolving expired.badssl.com (expired.badssl.com). 104.154.89.105 Connecting to expired.badssl.com (expired.badssl.com)|104.154.89.105|:443. connected. ERROR: cannot verify expired.badssl.com’s certificate, issued by ‘CN=COMODO RSA Domain Validation Secure Server CA,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB’: Issued certificate has expired. To connect to expired.badssl.com insecurely, use `—no-check-certificate’.

На примере выше результат истекшего срока действия сертификата. Предлагается использовать —no-check-certificate для игнорирования любой проверки сертификата. Сравним результат с добавленным ключом:

wget https://untrusted-root.badssl.com/ —no-check-certificate —2020-02-23 11:33:45— https://untrusted-root.badssl.com/ Resolving untrusted-root.badssl.com (untrusted-root.badssl.com). 104.154.89.105 Connecting to untrusted-root.badssl.com (untrusted-root.badssl.com)|104.154.89.105|:443. connected. WARNING: cannot verify untrusted-root.badssl.com’s certificate, issued by ‘CN=BadSSL Untrusted Root Certificate Authority,O=BadSSL,L=San Francisco,ST=California,C=US’: Self-signed certificate encountered. HTTP request sent, awaiting response. 200 OK Length: 600 [text/html] Saving to: ‘index.html.6’ index.html.6 100%[===========================================================================================>] 600 —.-KB/s in 0s 2020-02-23 11:33:45 (122 MB/s) — ‘index.html.6’ saved [600/600]

С помощью ключа -S в терминал будет выведен заголовок, как это произошло с Яндексом:

wget -S —no-check-certificate https://www.yandex.ru —2020-03-20 02:52:16— https://www.yandex.ru/ Resolving www.yandex.ru (www.yandex.ru). 149.5.244.14, 80.239.201.15 Connecting to www.yandex.ru (www.yandex.ru)|149.5.244.14|:443. connected. HTTP request sent, awaiting response.

HTTP/1.1 200 Ok Accept-CH: Viewport-Width, DPR, Device-Memory, RTT, Downlink, ECT Accept-CH-Lifetime: 31536000 Cache-Control: no-cache,no-store,max-age=0,must-revalidate Content-Length: 199540 Content-Type: text/html; charset=UTF-8 Date: Thu, 19 Mar 2020 23:52:49 GMT Expires: Thu, 19 Mar 2020 23:52:50 GMT Last-Modified: Thu, 19 Mar 2020 23:52:50 GMT P3P: policyref=»/w3c/p3p.xml», CP=»NON DSP ADM DEV PSD IVDo OUR IND STP PHY PR E NAV UNI» Set-Cookie: yp=1587253970.ygu.1; Expires=Sun, 17-Mar-2030 23:52:49 GMT; Domain =.yandex.ru; Path=/ Set-Cookie: mda=0; Expires=Fri, 17-Jul-2020 23:52:49 GMT; Domain=.yandex.ru; P ath=/ Set-Cookie: yandex_gid=213; Expires=Sat, 18-Apr-2020 23:52:49 GMT; Domain=.yan dex.ru; Path=/ X-Content-Type-Options: nosniff X-Frame-Options: DENY X-Yandex-Sdch-Disable: 1

7. Манипуляции с User-Agent

Бывает так, что мы хотим открыть сайт с помощью другого user-agent . Это можно сделать, указав ключ —user-agent :

wget https://gf.dev —user-agent=»MyCustomUserAgent»

Когда приложение находится в разработке и есть необходимость что-то потестить, но нет подходящего URL-адреса или мы хотим протестировать домен с использованием IP-адреса – в обеих ситуациях будет полезен —header .

Для примера возьмем http://10.10.10.1 и application.com в качестве заголовка:

wget —header=»Host: application.com» http://10.10.10.1

9. Подключение через прокси

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

wget -e use_proxy=yes http_proxy=$PROXYHOST:PORT http://externalsite.com

Не забудьте в переменной $PROXYHOST:PORT указать реальные значения.

10. Подключение через TLS

Обычно рекомендуют использовать OpenSSL для тестирования протокола TLS. Но можете использовать и wget .

wget —secure-protocol=TLSv1_2 https://example.com

Вышеизложенное заставит wget подключиться через TLS 1.2.

Заключение

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

Еще вам могут быть интересны следующие публикации:

  • 6 команд терминала и пара комбинаций, полезных для начинающих разработчиков
  • Терминал Linux: видеокурс по работе на примере Ubuntu
  • 14 полезных трюков для работы с консолью

Источники

Источник: proglib.io

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru