Использование Wget с прокси

В этой статье вы погрузитесь в мир Wget и Linux, и узнаете, как легко интегрировать прокси в свой рабочий процесс.
2 min read
Using Wget with a Proxy

GNU Wget — это универсальная утилита командной строки, ставшая незаменимой для многих пользователей Linux, которые полагаются на нее для легкой загрузки файлов из Интернета. Она многофункционалена, проста в использовании и поддерживает распространенные сетевые протоколы, включая HTTP, HTTPS и FTP. Кроме того, Wget имеет встроенную поддержку для загрузки целых сайтов или подмножеств страниц, что делает его идеальным инструментом для веб-скрапинга, зеркалирования и архивирования.

Одна из самых впечатляющих особенностей Wget – способность работать с прокси. Как пользователь Linux, вы часто будете нуждаться в прокси, чтобы скрыть свою личность, обойти надоедливые региональные ограничения или повысить производительность за счет балансировки нагрузки. С Wget в вашем наборе инструментов интеграция прокси станет более простой.

Что такое Wget?  

Wget, сокращенно от «World Wide Web» и «get», — это бесплатная программа с открытым исходным кодом для работы с файлами в Интернете. Это часть проекта GNU по массовому сотрудничеству в области свободного ПО.

Wget оснащен удобными функциями для технических пользователей, которые работают с файлами в Интернете. К ним относятся пакетная загрузка, возобновление прерванной загрузки, рекурсивная загрузка, поддержка прокси, планирование загрузки, регулирование пропускной способности, настраиваемый юзер агент и поддержка SSL/TLS. Кроме того, программа не интерактивная, что делает ее идеальным решением для скриптов и заданий cron, выполняемых в фоновом режиме.

Wget популярен среди пользователей Linux и Unix, а также имеет версии для Windows и macOS. Впечатляющий набор функций и кроссплатформенная совместимость Wget делают его незаменимым инструментом для различных веб-задач: загрузка больших файлов, автоматизация загрузки и создание зеркал сайтов.

Использование прокси с Wget в Linux  

Существует множество прокси, включая серверные и резидентные. Каждый из них имеет свои преимущества и варианты применения. Использование прокси с Wget дает такие преимущества: обход ограничений сети/ISP и по локации. Это также позволяет сохранять анонимность и конфиденциальность при просмотре веб-страниц или загрузке файлов.

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

Настройка Wget с прокси

Чтобы использовать Wget с прокси, вам нужно настроить соответствующие параметры в вашей среде или в самой команде Wget. Есть несколько разных способов, как сделать это. В этом руководстве мы рассмотрим 4 из них: настройка параметров прокси с помощью переменных окружения, установка прокси для всех пользователей путем обновления файла /etc/wgetrc, установка прокси для текущего пользователя путем обновления файла ~/ .wgetrc и установка прокси для текущего экземпляра терминала с помощью флага -e. Вы также узнаете, как использовать Wget с аутентифицированными и неаутентифицированными прокси.

Вы можете найти все конфигурации, которые мы обсудим в статье, в GitHub gist.

Прежде чем начать использовать Wget с прокси, вам необходимо следующее:

  • Среда Linux. Это руководство создано для системы Linux, которой может быть Ubuntu, Fedora, Debian или любой другой дистрибутив Linux. Убедитесь, что на вашем компьютере или в виртуальной среде установлен Linux.  
  • Wget. Wget предустановлен в большинстве систем Linux. Чтобы проверить, установлен ли он, откройте терминал и введите wget --version. Если Wget установлен, команда вернет номер его версии. Если он не установлен, вы можете установить Wget с помощью диспетчера пакетов вашего дистрибутива, например, apt для систем на основе Debian или yum для Fedora.
  • Данные о прокси. Чтобы использовать Wget с прокси, вам нужны данные прокси-сервера: IP-адрес или имя хоста, номер порта и, при необходимости, информация для аутентификации (например, имя пользователя и пароль). Вы можете получить эти данные у своего поставщика прокси или сетевого администратора.  

1. Настройка параметров прокси с помощью переменных среды.

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

Чтобы настроить прокси для Wget, добавьте следующие строки в файл конфигурации оболочки (например, .bashrc или .bash_profile) и замените заполнители адресом и портом вашего прокси-сервера (например, http://proxy.example.com:8080). :

export http_proxy=http://proxy_address:proxy_port
export https_proxy=https://proxy_address:proxy_port

Если прокси требует аутентификации, вместо http://proxy_address:proxy_port следует добавить имя пользователя и пароль в URL, чтобы он выглядел так:

export http_proxy=http://username:password@proxy_address:proxy_port
export https_proxy=username:password@proxy_address:proxy_port
export ftp_proxy=username:password@proxy_address:proxy_port

Не забудьте заменить переменные для username, password, proxy_address и proxy_port на соответствующие значения (например, http_proxy=http://username:[email protected]:8080).

После добавления этих строк перезапустите оболочку или запустите исходный файл source .bashrc или source .bash_profile, в зависимости от того, какой файл вы использовали для применения изменений.

2. Установка прокси для всех пользователей путем обновления файла /etc/wgetrc.  

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

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

Чтобы установить прокси для всех пользователей, вам нужно изменить файл конфигурации, расположенный в /etc/wgetrc. wgetrc — это файл инициализации, в котором хранятся настройки и параметры по умолчанию для Wget. Этот файл позволяет настраивать его поведение без постоянного указания аргументов командной строки.

Чтобы установить прокси, откройте файл wgetrc с помощью вашего любимого текстового редактора и добавьте следующие строки:  

https_proxy = http://proxy.example.com:8080
http_proxy = http://proxy.example.com:8080
ftp_proxy = http://proxy.example.com:8080

Для аутентифицированных прокси используйте следующий синтаксис:

https_proxy = http://username:[email protected]:8080
http_proxy = http://username:[email protected]:8080
ftp_proxy = http://username:[email protected]:8080

Замените proxy.example.com:8080 и username:password адресом, портом и учетными данными для авторизации вашего прокси-сервера. Сохраните файл и закройте редактор. С этого момента все запросы Wget, сделанные любым пользователем вашей системы, будут использовать указанный прокси-сервер.

3. Установка прокси для текущего пользователя путем обновления файла ~/.wgetrc  

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

Чтобы установить прокси, вам нужно создать/изменить файл ~/.wgetrc. Это специфический для пользователя файл wgetrc, расположенный в вашем домашнем каталоге (~/). В нем хранятся конфигурации, на которые влияет только текущий пользователь. Файл ~/.wgetrc может не существовать по умолчанию, особенно в новых установках Linux или учетных записях пользователей, поскольку файл обычно создается, когда пользователю нужно настроить параметры Wget для своей учетной записи. Если файл не существует, вы можете создать его.

Получив файл ~/.wgetrc, откройте его в своем любимом текстовом редакторе и добавьте следующие строки:

https_proxy = http://proxy.example.com:8080
http_proxy = http://proxy.example.com:8080
ftp_proxy = http://proxy.example.com:8080

Не забудьте заменить proxy.example.com:8080 своими конкретными данными. Этот метод влияет только на запросы Wget, которые были сделаны текущим пользователем. Если вы переключаетесь на другого пользователя на том же компьютере, эти настройки не будут применяться.

4. Установите прокси для текущего экземпляра терминала, используя флаг -e  

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

Чтобы указать конфигурацию прокси для одного запроса Wget, используйте следующий синтаксис:

# http proxy
wget -e use_proxy=yes -e http_proxy=http://proxy_address:proxy_port URL
# https proxy
wget -e use_proxy=yes -e https_proxy=http://proxy_address:proxy_port URL

В этом коде URL — это адрес, который вы хотите получить с помощью Wget (например, www.google.com).

Для аутентифицированных прокси вы можете использовать синтаксис http://username:password@proxy_address:proxy_port для указания прокси, как обсуждалось в предыдущем разделе.

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

Использование Wget  

К счастью, использовать Wget просто. Общий синтаксис для Wget следующий: wget [options] [url], где вы сначала указываете необязательные аргументы (то есть [options]), такие, как -e use_proxy=yes, о котором вы узнали ранее, а затем [url], который вы хотите получить. Это может быть медиафайл, например, документ или даже веб-страница.

Поскольку первая часть не является обязательной, вы можете получить веб-ресурс, указав wget [url]. Например, вызов wget http://example.com/file.pdf извлекает файл и загружает его на ваш локальный компьютер.

Вы также можете загрузить файл, указав имя, которое будет использоваться при сохранении на диск. Для этого используйте аргумент --output-document:

 wget --output-document=image.jpg https://httpbin.org/image/jpeg

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

wget ‐‐input list-of-file-urls.txt

Обратите внимание: если вы используете метод 4 для указания своего прокси, то должны добавить -e use_proxy=yes -e http_proxy=http://proxy_address:proxy_port к предыдущим командам, чтобы заставить их работать с прокси. Варианты 1, 2 и 3 будут работать как есть, поскольку прокси уже настроен.

Подведем итоги  

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

Хотя использование Wget с прокси дает множество преимуществ, выбор правильных прокси-сервисов имеет важное значение для максимальной производительности и надежности. Bright Data — это платформа веб-данных, которая помогает компаниям собирать огромные объемы структурированных данных из Интернета. Используя такие прокси-решения, вы можете улучшить работу с Wget и уменьшить количество неудачных запросов, обеспечив лучший поиск информации в сети.  

Независимо от того, являетесь ли вы стартапом или предприятием, Bright Data поможет вам парсить сайты и собирать данные с помощью их прокси-решений и пользовательских инструментов, таких как IDE веб-парсера и Web Unlocker. Ознакомьтесь с прокси Bright Data для ЦОД, вариантами прокси-серверов и ценами, чтобы найти идеальный вариант под ваши требования к прокси-сети.