Реферальна програма →

Налаштування проксі для wget: всі способи, пріоритети та проблема SOCKS5

Чотири способи підключити wget до проксі-сервера та порядок їхнього перевизначення, перевірено на wget 1.25. Плюс точні повідомлення про помилки, пастка зі спеціальними символами, обхід проксі та те, чого wget не вміє: SOCKS5.

Daniyar
15 липня 2026 р.
6 min read
Налаштування проксі для wget: всі способи, пріоритети та проблема SOCKS5

wget бере проксі з чотирьох джерел, і коли вони суперечать одне одному, він обирає одне з них без попередження. У цьому посібнику розглянуто всі чотири джерела, порядок їхнього пріоритету та те, що wget не вміє робити. Усе нижче перевірено на wget 1.25.0 30 вересня 2026 року через тестовий проксі, тому повідомлення про помилки справжні.

Коротка версія

# одна команда
https_proxy=http://login:password@proxy.example.com:10000 wget https://example.com/file.zip

# для всієї сесії оболонки
export http_proxy=http://login:password@proxy.example.com:10000
export https_proxy=http://login:password@proxy.example.com:10000
wget https://example.com/file.zip

Встановіть обидві змінні. http_proxy використовується для цілей http://, а https_proxy для https://, і зараз майже все працює через HTTPS. Сама адреса проксі в обох випадках починається з http://: це протокол, яким wget спілкується з проксі, а не протокол сайту.

Чотири джерела, де wget шукає проксі

1. Змінні оточення

Приклад вище. Імена в нижньому регістрі описані в документації wget, і вони працюють у завданнях cron, контейнерах та скриптах, бо весь процес їх успадковує.

2. Файл .wgetrc

Якщо машина або користувач завжди використовує один і той самий проксі, запишіть його в ~/.wgetrc:

use_proxy = on
http_proxy = http://login:password@proxy.example.com:10000
https_proxy = http://login:password@proxy.example.com:10000

Підійде будь-який файл, якщо вказати на нього змінною WGETRC. Так можна тримати окремі файли проксі для різних завдань.

3. Опція -e у командному рядку

-e встановлює команду .wgetrc для одного запуску:

wget -e use_proxy=yes -e https_proxy=http://login:password@proxy.example.com:10000 https://example.com/file.zip

4. --proxy-user та --proxy-password

Ці прапорці передають облікові дані окремо від адреси:

https_proxy=http://proxy.example.com:10000 wget --proxy-user=login --proxy-password='p@ss#word' https://example.com/file.zip

Це правильний вибір, коли пароль містить спецсимволи (причину розглянуто нижче).

Що перевизначає що

Ми встановили в чотирьох джерелах різні значення й перевірили, яке з них wget виконає:

Якщо ці джерела суперечатьwget використовує
Змінна оточення та .wgetrc.wgetrc
Будь-яке з них та -e у командному рядку-e
Облікові дані в адресі та --proxy-user / --proxy-passwordПрапорці

Отже, .wgetrc на машині мовчки перемагає https_proxy, яку ви експортували для одного завдання, а прапорець --proxy-user мовчки замінює логін в адресі. Коли wget використовує неочікуваний проксі, зазвичай саме ці два правила винні.

Пастка зі спецсимволами

Наш тестовий пароль був p@ss#word. Коли ми вставили його в адресу як є, wget не дійшов до проксі:

Resolving ss... failed: nodename nor servname provided, or not known.
wget: unable to resolve host address 'ss'

Він прочитав перший @ як кінець логіна й спробував підключитися до хоста ss. Два виправлення, обидва перевірені:

# percent-кодування пароля всередині адреси
https_proxy=http://login:p%40ss%23word@proxy.example.com:10000 wget https://example.com/

# або передача окремо, кодування не потрібне
https_proxy=http://proxy.example.com:10000 wget --proxy-user=login --proxy-password='p@ss#word' https://example.com/

@ стає %40, # стає %23, : стає %3A, / стає %2F, а сам % стає %25.

Обхід проксі

Три способи, всі перевірені з проксі в оточенні, який би відхилив запит:

# ця команда йде напряму
wget --no-proxy https://example.com/

# ці хости завжди йдуть напряму
export no_proxy=example.com,internal.company.net
wget https://example.com/

# вимкнути проксі в .wgetrc або через -e
wget -e use_proxy=no https://example.com/

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

SOCKS5: те, чого wget не вміє

wget працює тільки з HTTP-проксі. Якщо подати йому адресу SOCKS, він одразу зупиниться:

Error parsing proxy URL socks5://127.0.0.1:1080: Unsupported scheme.

socks5h:// дає ту саму відповідь. Посібники, які показують рядок socks у .wgetrc, описують функцію, якої не існує. Є три виходи.

Використовуйте HTTP-порт проксі. Більшість платних проксі підтримують обидва протоколи. Наші відповідають на HTTP і SOCKS5 на одному резидентному порті й на окремих портах для статичних адрес, тому виправлення - це записати http:// замість socks5://.

Використовуйте curl замість wget. curl підтримує SOCKS5 нативно:

curl -x socks5h://login:password@proxy.example.com:1080 -O https://example.com/file.zip

Обгорніть wget у proxychains4, коли це обов'язково має бути wget (наприклад, усередині скрипта, який ви не можете змінити). Ми прогнали його через SOCKS5-сервер з логіном і паролем, і воно спрацювало:

sudo apt install -y proxychains4

cat > socks.conf <<'EOF'
strict_chain
proxy_dns
[ProxyList]
socks5 proxy.example.com 1080 login password
EOF
proxychains4 -q -f socks.conf wget https://example.com/file.zip

Параметр proxy_dns змушує імена хостів розв'язуватися через проксі, що вам і потрібно з причин, викладених у статті що таке DNS-проксі.

З'єднання з проксі не шифрується

Ще одне обмеження. Якщо ви вказуєте адресу проксі як https://, wget не встановлює TLS-з'єднання з проксі-сервером. У наших тестах він підключався звичайним текстом і надсилав запит точно так само, як зробив би це для проксі з http://. Тобто логін для проксі передається без шифрування між вами та проксі-сервером, яку б схему ви не вказали. У мережах, які ви не контролюєте, це вагомий аргумент на користь білого списку IP-адрес (якщо провайдер це підтримує) або клієнта, який уміє шифрувати з'єднання з проксі, як це робить curl.

Як читати помилки wget

wget кажеЩо сталося
Proxy tunneling failed: Proxy Authentication Required, потім Unable to establish SSL connection.Проксі повернув 407: неправильний логін, неправильний пароль або облікові дані взагалі не передано. Перелік перевірок є в гайді по 407
unable to resolve host address 'ss' або подібнеСимвол у паролі поламав адресу. Закодуйте його або використайте --proxy-user
Error parsing proxy URL ...: Unsupported scheme.SOCKS-адреса. wget не вміє з нею працювати
Connecting to 127.0.0.1:18499... failed: Connection refused.Неправильний порт або проксі не працює
Завантаження працює, але з неправильного місцяЯкесь інше джерело перевизначає ваше. Перевірте .wgetrc та -e

Ввічливе масове завантаження через проксі

Найважливіше налаштування, коли wget завантажує багато сторінок, це не проксі, а темп:

export https_proxy=http://login_c_US_s_7_ttl_1h:password@proxy.sotaproxy.com:10000

wget --mirror --no-parent --wait=2 --random-wait --limit-rate=500k \
     --user-agent="my-mirror/1.0 (+mailto:you@example.com)" \
     https://example.com/docs/

Параметри --wait і --random-wait розносять запити в часі, --limit-rate обмежує пропускну здатність, а wget за замовчуванням дотримується robots.txt під час рекурсивного завантаження. Суфікс сесії в логіні прив'язує всі запити дзеркалювання до однієї вихідної адреси протягом години, тож сайт бачить одного відвідувача, а не натовп. Синтаксис суфіксів описано в довіднику рядків підключення.

Поширені питання

Як змусити wget використовувати проксі?

Встановіть у середовищі http_proxy та https_proxy зі значенням http://login:password@host:port, або додайте ті самі рядки в ~/.wgetrc разом з use_proxy = on.

Як змусити wget ігнорувати проксі?

wget --no-proxy для однієї команди, no_proxy=host1,host2 у середовищі для конкретних хостів або -e use_proxy=no.

Чи підтримує wget SOCKS5?

Ні. Він відхиляє адресу з повідомленням "Unsupported scheme". Використовуйте HTTP-порт проксі, curl або обгорніть wget у proxychains4.

Чому wget каже "unable to resolve host address", коли я встановлюю проксі?

Символ у паролі, зазвичай @, розрізав адресу не в тому місці. Закодуйте пароль через percent-encoding або передайте його через --proxy-user і --proxy-password.

Що має пріоритет: змінна середовища чи .wgetrc?

.wgetrc. А -e у командному рядку перевершує обидва.

Схожі статті

Для чого використовується проксі: Гід з арбітражу 2026

Для чого використовується проксі: Гід з арбітражу 2026

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

4 серпня 2026 р.
Читати далі
Як створити скрейпер відгуків Amazon, який дійсно працює

Як створити скрейпер відгуків Amazon, який дійсно працює

Створіть надійний скрейпер відгуків Amazon з перевіреними тактиками проксі, обходу блокування та парсингу. Покрокова інструкція для технічних фахівців та агенцій.

2 серпня 2026 р.
Читати далі
Список заблокованих в Instagram: як виявити та виправити блокування

Список заблокованих в Instagram: як виявити та виправити блокування

Дізнайтеся, як насправді працює список заблокованих в Instagram, як виявити блокування та shadowban, а також точні кроки для керування списком ваших заблокованих облікових записів.

30 липня 2026 р.
Читати далі
Що таке геотаргетинг: повний посібник на 2026 рік

Що таке геотаргетинг: повний посібник на 2026 рік

Дізнайтеся, що таке геотаргетинг і як IP, GPS та Wi-Fi сигнали формують його. Резидентські, мобільні та ISP проксі забезпечують справжні геотаргетовані кампанії.

24 липня 2026 р.
Читати далі
Побудова надійного мультиакаунтного стеку з MostLogin та SotaProxy

Побудова надійного мультиакаунтного стеку з MostLogin та SotaProxy

Дізнайтеся, як досвідчені фахівці поєднують антидетект-браузери та проксі для створення масштабованих робочих процесів керування обліковими записами з геотаргетингом, використовуючи MostLogin та SotaProxy.

21 липня 2026 р.
Читати далі
Посібник з моніторингу інвентаря для команд трафік-арбітражу

Посібник з моніторингу інвентаря для команд трафік-арбітражу

Дізнайтеся, як моніторинг інвентаря забезпечує geo-таргетовані кампанії даними в реальному часі, скрейпінг через проксі, KPI та контроль витрат для рекламних акаунтів Facebook та TikTok.

21 липня 2026 р.
Читати далі