Я хочу завантажити щось за wget
допомогою проксі:
HTTP Proxy: 127.0.0.1
Port: 8080
Проксі-сервер не потребує імені користувача та пароля.
Як я можу це зробити?
Я хочу завантажити щось за wget
допомогою проксі:
HTTP Proxy: 127.0.0.1
Port: 8080
Проксі-сервер не потребує імені користувача та пароля.
Як я можу це зробити?
Відповіді:
Для всіх користувачів системи через /etc/wgetrc
або для користувача лише з ~/.wgetrc
файлом:
use_proxy=yes
http_proxy=127.0.0.1:8080
https_proxy=127.0.0.1:8080
або через -e
параметри, розміщені після URL-адреси:
wget ... -e use_proxy=yes -e http_proxy=127.0.0.1:8080 ...
use_proxy=on
, ні use_proxy=yes
. Добре працює інакше.
http_proxy=http://<user>:<password>@127.0.01:8080
і аналогічно. в іншому випадку вам, можливо, доведеться подавати їх явно під час виклику wget (див. - askubuntu.com/a/429943/350255 )
Введіть командний рядок:
$ export http_proxy=http://proxy_host:proxy_port
для автентифікованого проксі,
$ export http_proxy=http://username:password@proxy_host:proxy_port
а потім біжи
$ wget fileurl
для https, просто використовуйте https_proxy замість http_proxy. Ви також можете розмістити ці рядки у файлі ~ / .bashrc, щоб не потрібно було це виконувати щоразу.
Наступні можливі конфігурації розміщені /etc/wgetrc
лише у незмінності та використанні ...
# You can set the default proxies for Wget to use for http, https, and ftp.
# They will override the value in the environment.
#https_proxy = http://proxy.yoyodyne.com:18023/
#http_proxy = http://proxy.yoyodyne.com:18023/
#ftp_proxy = http://proxy.yoyodyne.com:18023/
# If you do not want to use proxy at all, set this to off.
#use_proxy = on
wget використовує змінні середовища приблизно так, як це в командному рядку:
export http_proxy=http://your_ip_proxy:port/
export https_proxy=$http_proxy
export ftp_proxy=$http_proxy
export dns_proxy=$http_proxy
export rsync_proxy=$http_proxy
export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"
Спробувавши багато навчальних посібників, щоб налаштувати мій Ubuntu 16.04 LTS за аутентифікованим проксі, він працював з цими кроками:
Редагувати /etc/wgetrc
:
$ sudo nano /etc/wgetrc
Відменшіть ці рядки:
#https_proxy = http://proxy.yoyodyne.com:18023/
#http_proxy = http://proxy.yoyodyne.com:18023/
#ftp_proxy = http://proxy.yoyodyne.com:18023/
#use_proxy = on
Змінити http://proxy.yoyodyne.com:18023/
наhttp://username:password@domain:port/
ВАЖЛИВО: Якщо вона по- , як і раніше не працює, перевірте , якщо ваш пароль має спеціальні символи, такі як
#
,@
... Якщо це так, то позбутися від них (наприклад, замінитиpassw@rd
зpassw%40rd
).
У Ubuntu 12.x я додав наступні рядки у $ HOME / .wgetrc
http_proxy = http: // uname: passwd@proxy.blah.com: 8080
use_proxy = увімкнено
У моєму ubuntu наступні рядки в $ HOME / .wgetrc зробили трюк!
http_proxy = http: // uname: passwd@proxy.blah.com: 8080
use_proxy = увімкнено
У Debian Linux wget може бути налаштований на використання проксі як через змінні середовища, так і через wgetrc. В обох випадках імена змінних, які слід використовувати для HTTP та HTTPS-з'єднань, є
http_proxy=hostname_or_IP:portNumber
https_proxy=hostname_or_IP:portNumber
Зауважте, що файл / etc / wgetrc має перевагу перед змінними середовища, тому, якщо у вашій системі є налаштований проксі-сервер, і ви намагаєтесь використовувати змінні середовища, вони, схоже, не матимуть ніякого ефекту!
export http_proxy=http://proxy_host:proxy_port/
export https_proxy=https://proxy_host:proxy_port/
або
export http_proxy=http://username:password@proxy_host:proxy_port/
export https_proxy=https://username:password@proxy_host:proxy_port/
Як всі інші пояснювали тут, ця змінна середовище допомагає передавати проксі.
Примітка. Але, будь ласка, не те, що якщо пароль містить будь-який спеціальний символ, то його потрібно налаштувати як %<hex_value_of_special_char>
.
Приклад: Якщо пароль є pass#123
, потрібно використовувати, як pass%23123
у наведених вище командах експорту.
Якщо вам потрібно виконати wget лише один раз за допомогою проксі-сервера, найпростіший спосіб - це зробити за допомогою одного вкладиша, як це:
http_proxy=http://username:password@proxy_host:proxy_port wget http://fileurl
або з цільовою URL-адресою https:
https_proxy=http://username:password@proxy_host:proxy_port wget https://fileurl
Додайте нижче рядки у файлі ~ / .wgetrc або / etc / wgetrc (створіть файл, якщо його немає):
http_proxy = http://[Proxy_Server]:[port]
https_proxy = http://[Proxy_Server]:[port]
ftp_proxy = http://[Proxy_Server]:[port]
Для отримання додаткової інформації https://www.thegeekdiary.com/how-to-use-wget-to-download-file-via-proxy/