Щоб налаштувати wget для завантаження через проксі, встановіть змінні середовища http_proxy, https_proxy або ftp_proxy, вкажіть деталі проксі через параметри командного рядка або визначте їх у файлі конфігурації .wgetrc.
Налаштування проксі для wget необхідне, коли прямий доступ до інтернету обмежений фаєрволами, для маршрутизації трафіку через певну мережу або для цілей анонімізації. wget підтримує протоколи HTTP, HTTPS та FTP як для цільових ресурсів, так і для проксі-з'єднань.
Методи налаштування проксі
Існує три основні методи налаштування wget для використання проксі: змінні середовища, параметри командного рядка та файл конфігурації .wgetrc. Кожен метод пропонує різні рівні області дії та стійкості.
Змінні середовища
Змінні середовища забезпечують системну або сесійну конфігурацію проксі, яку wget автоматично виявляє. Це часто найпоширеніший метод для тимчасових або специфічних для користувача налаштувань.
http_proxy: Використовується для HTTP-цілей.https_proxy: Використовується для HTTPS-цілей.ftp_proxy: Використовується для FTP-цілей.no_proxy: Вказує список доменів або IP-адрес, розділених комами, які повинні обходити проксі.
Загальний формат URL-адрес проксі: http://[user:password@]host:port/. wget переважно використовує HTTP-проксі для отримання вмісту, незалежно від того, чи є цільовий URL HTTP або HTTPS. Тому http_proxy часто достатньо для обох типів цілей (HTTP та HTTPS), якщо не потрібен спеціальний HTTPS-проксі.
Тимчасова конфігурація (поточна сесія)
Встановіть ці змінні у вашій оболонці перед викликом wget.
Linux/macOS (Bash/Zsh):
export http_proxy="http://proxy.example.com:8080"
export https_proxy="http://proxy.example.com:8080"
export ftp_proxy="http://proxy.example.com:8080"
export no_proxy="localhost,127.0.0.1,.internal.domain.com"
wget http://example.com/file.zip
wget https://secure.example.com/data.tar.gz
Для проксі, що вимагають автентифікації:
export http_proxy="http://user:password@proxy.example.com:8080"
export https_proxy="http://user:password@proxy.example.com:8080"
wget http://example.com/file.zip
Примітка: Вбудовування облікових даних безпосередньо у змінні середовища або URL-адреси, як правило, не рекомендується для середовищ, чутливих до безпеки, оскільки вони можуть бути видимими для інших процесів або зберігатися в історії оболонки.
Щоб вимкнути проксі для певної сесії:
unset http_proxy
unset https_proxy
unset ftp_proxy
Windows (CMD):
set http_proxy=http://proxy.example.com:8080
set https_proxy=http://proxy.example.com:8080
set ftp_proxy=http://proxy.example.com:8080
set no_proxy=localhost,127.0.0.1,.internal.domain.com
wget http://example.com/file.zip
Windows (PowerShell):
$env:http_proxy="http://proxy.example.com:8080"
$env:https_proxy="http://proxy.example.com:8080"
$env:ftp_proxy="http://proxy.example.com:8080"
$env:no_proxy="localhost,127.0.0.1,.internal.domain.com"
wget http://example.com/file.zip
Постійна конфігурація (для конкретного користувача)
Щоб зробити налаштування проксі постійними для конкретного користувача в різних сесіях, додайте команди export до файлу профілю вашої оболонки (наприклад, ~/.bashrc, ~/.zshrc, ~/.profile на Linux/macOS) або до системних файлів конфігурації.
Приклад для ~/.bashrc:
# Proxy Settings
export http_proxy="http://proxy.example.com:8080"
export https_proxy="http://proxy.example.com:8080"
export ftp_proxy="http://proxy.example.com:8080"
export no_proxy="localhost,127.0.0.1,.internal.domain.com"
Після редагування, завантажте файл або перезапустіть оболонку: source ~/.bashrc.
Параметри командного рядка
wget надає спеціальні параметри командного рядка для налаштування проксі, які перевизначають змінні середовища та налаштування .wgetrc для одного виклику. Це підходить для одноразових завантажень або сценаріїв, де налаштування проксі потрібно динамічно контролювати.
--proxy-on: Явно ввімкнути використання проксі.--proxy-off: Явно вимкнути використання проксі.--no-proxy: Список доменів, розділених комами, які повинні обходити проксі (аналогічно змінній середовищаno_proxy).--proxy-user=<user>: Вказати ім'я користувача проксі.--proxy-password=<password>: Вказати пароль проксі.
Приклад використання:
# Download a file through a proxy, overriding any default settings
wget --proxy-on --proxy-user=myuser --proxy-password=mypassword http://proxy.example.com:8080 http://example.com/file.zip
# Download a file directly, bypassing any configured proxy
wget --proxy-off http://example.com/file.zip
# Use proxy but bypass for a specific domain
wget --no-proxy=internal.example.com --proxy-on http://proxy.example.com:8080 http://example.com/file.zip
При використанні --proxy-user та --proxy-password, wget спробує автентифікуватися на проксі, використовуючи надані облікові дані. Сама адреса проксі зазвичай все ще визначається через змінні середовища або .wgetrc.
Файл конфігурації .wgetrc
Файл .wgetrc дозволяє зберігати постійні, специфічні для користувача або системні налаштування проксі. wget читає цей файл під час виконання.
- Для конкретного користувача:
~/.wgetrc(Linux/macOS), або шлях, вказаний змінною середовищаWGETRC. - Системний:
/etc/wgetrc(Linux/macOS).
Налаштування в ~/.wgetrc мають пріоритет над /etc/wgetrc. Параметри командного рядка перевизначають обидва.
Директиви конфігурації:
```
Enable or disable proxy usage by default
use_proxy = on
Define HTTP proxy
http_proxy = http://proxy.example.com:8080/
Define HTTPS proxy
https_proxy = http://proxy.example.com:8080/
Define FTP proxy
ftp_proxy = http://proxy.example.com:8080/
Proxy authentication credentials
proxy_user = myuser
proxy_password = mypassword