Как установить прокси для wget?

224

Я хочу скачать что-то с wgetиспользованием прокси:

HTTP Proxy: 127.0.0.1
Port: 8080

Прокси не требует имени пользователя и пароля.

Как я могу это сделать?

крупный чиновник
источник
15
Хаким - я заметил, что вы не приняли ни одного ответа. Означает ли это, что они не правы, и я не должен следовать данным советам? Если так, вы решили проблему с чем-то еще?
13:30

Ответы:

413

Для всех пользователей системы через /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 ...
amaksr
источник
4
Мой wget говорит, что должно быть use_proxy=on, нет use_proxy=yes. Хорошо работает в противном случае.
barfuin
4
Проверено. Он работает с wget -e <http_proxy> = 127.0.0.01: 8080 < download > ..., пропуская параметр команды "use_proxy = yes". Спасибо!
Алехандроб
3
@Thomas Jensen Вы правы, wgetrc-manual заявляет, что это должно быть onили off, но на самом деле попытка фиктивной команды: -e use_proxy=bnwдает, wget: use_proxy: Invalid boolean ‘bnw’; use 'on' or 'off'.пока не =yesдает такой ошибки, так что, кажется, это неофициально разрешено.
mxmlnkn
1
http_proxy=http://<user>:<password>@127.0.01:8080и аналогично. в противном случае вам, возможно, придется явным образом кормить их во время вызова wget (см. - askubuntu.com/a/429943/350255 )
parasrish
1
Как мне его выключить?
Tessaracter
83

Введите в командной строке:

$ 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, чтобы вам не приходилось выполнять это каждый раз.

shivshnkr
источник
Как убрать прокси
Tessaracter
1
$ unset http_proxy
shivshnkr
38

следующие возможные конфиги находятся в /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
hovanessyan
источник
19

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"
juan_liga
источник
Это помогло и на домашнем пиве!
Miao1007
16

После многих попыток настроить 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).

Джандерсон Сильва
источник
5

В Debian Linux wget может быть настроен на использование прокси как через переменные окружения, так и через wgetrc. В обоих случаях имена переменных, которые будут использоваться для соединений HTTP и HTTPS,

http_proxy=hostname_or_IP:portNumber
https_proxy=hostname_or_IP:portNumber

Обратите внимание, что файл / etc / wgetrc имеет приоритет над переменными окружения, поэтому, если в вашей системе настроен прокси-сервер и вы пытаетесь использовать переменные окружения, они, похоже, не имеют никакого эффекта!

A1An
источник
3
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в приведенных выше командах экспорта.

rashok
источник
2

В Windows - для Fiddler - с помощью переменных среды:

set http_proxy=http://127.0.0.1:8888
set https_proxy=http://127.0.0.1:8888
указ
источник
2

Если вам нужно выполнить 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
jplandrain
источник
0

Добавьте следующие строки в файл ~ / .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/

Виной Джон Хосан
источник
0

начать Wget через SOCKS5 прокси с помощью tsocks :

  1. установить tsocks: sudo apt install tsocks
  2. config tsocks

    # vi /etc/tsocks.conf
    
    server = 127.0.0.1
    server_type = 5
    server_port = 1080
  3. Начало: tsocks wget http://url_to_get
cggos
источник