Как установить прокси для 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 ...

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


Как убрать прокси
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

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"

Это помогло и на домашнем пиве!
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 имеет приоритет над переменными окружения, поэтому, если в вашей системе настроен прокси-сервер и вы пытаетесь использовать переменные окружения, они, похоже, не имеют никакого эффекта!


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


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


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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.