Зачем использовать Wget вместо браузера?

Когда следует использовать Wget, а не браузер? Я слышал, что Столлман использует его вместо браузера для анонимности. Что сервер думает / видит, когда вы получаете его файлы с помощью Wget?

В каком случае я предпочитаю использовать Wget, а не какой-то браузер?

На странице man wget :

GNU Wget – бесплатная утилита для неинтерактивной загрузки файлов из Интернета. Он поддерживает протоколы HTTP, HTTPS и FTP, а также поиск через HTTP-прокси.

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

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

Какой сервер думает / видит, когда вы получаете свои файлы с помощью Wget?

Они рассматривают его как браузер, запрашивающий файл, как и другие браузеры.

Вот заголовок wget (это то, что видят серверы):

 GET / HTTP/1.1 User-Agent: Wget/1.18 (linux-gnu) Accept: */* Accept-Encoding: identity Host: localhost:80 Connection: Keep-Alive 

И вот заголовок firefox:

 GET / HTTP/1.1 Host: localhost:80 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: zh-TW,en-US;q=0.5 Accept-Encoding: gzip, deflate DNT: 1 Connection: keep-alive Upgrade-Insecure-Requests: 1 

Как вы можете видеть, они похожи.

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

Также очень полезно, что wget может загружать целые каталоги (включая подкаталоги) и избегает повторений в загрузке.

Об анонимности – это очень относительная. Как правило, wget идентифицирует как таковой, и более чем несколько сайтов воспринимают это как плохое – некоторый блок wget.

Но можно определить wget как любую другую строку, используя --user-agent=agent-string командной строки --user-agent=agent-string . (Опять же, подобные трюки возможны с некоторыми плагинами браузера)

Итак, в основном, это вопрос вкуса … Хороший аргумент в том, что wget можно легко использовать в скриптах, что сложнее с браузерами.

В графическом браузере ( Firefox , Chrome и т. Д.) Есть много возможностей, они будут использоваться для идентификации пользователя. Не только заголовки HTTP. Их называют «отпечатком браузера».

  • Установленные плагины
  • Текущее разрешение экрана
  • Установленные шрифты
  • Поддерживаемые функции

и многие другие … (ссылка: «Я уникален?» , «Panopticlick» , «BrowserLeaks.com» )

Браузер CLI ( wget , curl и т. Д.) Не имеет большого количества этих «отпечатков пальцев», потому что они очень просты. Это увеличивает анонимность, затрудняет отслеживание пользователя.