Como configurar o proxy para o wget?

224

Quero baixar algo wgetusando um proxy:

HTTP Proxy: 127.0.0.1
Port: 8080

O proxy não precisa de nome de usuário e senha.

Como posso fazer isso?

Hakim
fonte
15
Hakim - Notei que você não aceitou nenhuma das respostas. Isso significa que eles estão errados e eu não devo seguir o conselho dado? Se sim, você resolveu o problema com outra coisa?
JWW

Respostas:

413

Para todos os usuários do sistema via /etc/wgetrcou para o usuário apenas com o ~/.wgetrcarquivo:

use_proxy=yes
http_proxy=127.0.0.1:8080
https_proxy=127.0.0.1:8080

ou por meio de -eopções colocadas após o URL:

wget ... -e use_proxy=yes -e http_proxy=127.0.0.1:8080 ...
amaksr
fonte
4
Meu wget diz que deve ser use_proxy=on, não use_proxy=yes. Funciona bem caso contrário.
Barfuin
4
Verificado. Ele funciona com wget -e <http_proxy> = 127.0.0.01: 8080 < download > ..., omitindo o parâmetro de comando "use_proxy = yes". Obrigado!
Alejandrob #
3
@Thomas Jensen Você está certo, o manual wgetrc afirma que deveria ser onou off, mas realmente tentando um comando falso: -e use_proxy=bnwgive wget: use_proxy: Invalid boolean ‘bnw’; use 'on' or 'off'.while =yesnão dá tal erro, então parece ser permitido oficialmente.
Mxmlnkn 23/10/16
1
http_proxy=http://<user>:<password>@127.0.01:8080e da mesma forma. caso contrário você pode ter para alimentar estes explicitamente ao chamar o wget (consulte - askubuntu.com/a/429943/350255 )
parasrish
1
Como faço para desligá-lo?
Tessaracter
83

Digite na linha de comando:

$ export http_proxy=http://proxy_host:proxy_port

para proxy autenticado,

$ export http_proxy=http://username:password@proxy_host:proxy_port

e depois corra

$ wget fileurl

para https, basta usar https_proxy em vez de http_proxy. Você também pode colocar essas linhas no seu arquivo ~ / .bashrc para não precisar executar isso sempre.

shivshnkr
fonte
Como remover o proxy
Tessaracter
1
$ unset http_proxy
shivshnkr
38

as seguintes configurações possíveis estão localizadas em /etc/wgetrcapenas descomentados e use ...

# 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
fonte
19

O wget usa variáveis ​​de ambiente, algo assim na linha de comando pode funcionar:

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
fonte
Também ajudou no homebrew!
precisa saber é o seguinte
16

Depois de tentar muitos tutoriais para configurar meu Ubuntu 16.04 LTS atrás de um proxy autenticado, ele funcionou com estas etapas:

Editar /etc/wgetrc:

$ sudo nano /etc/wgetrc

Remova o comentário destas linhas:

#https_proxy = http://proxy.yoyodyne.com:18023/
#http_proxy = http://proxy.yoyodyne.com:18023/
#ftp_proxy = http://proxy.yoyodyne.com:18023/
#use_proxy = on

Mude http://proxy.yoyodyne.com:18023/parahttp://username:password@domain:port/

IMPORTANTE: Se ainda assim não funcionar, verifique se a sua senha possui caracteres especiais, tais como #, @... Se este for o caso, escapar-los (por exemplo, substituir passw@rdcom passw%40rd).

Janderson Silva
fonte
5

No Debian Linux, o wget pode ser configurado para usar um proxy tanto através de variáveis ​​de ambiente quanto via wgetrc. Nos dois casos, os nomes das variáveis ​​a serem usadas nas conexões HTTP e HTTPS são

http_proxy=hostname_or_IP:portNumber
https_proxy=hostname_or_IP:portNumber

Observe que o arquivo / etc / wgetrc tem precedência sobre as variáveis ​​de ambiente; portanto, se seu sistema possui um proxy configurado lá e você tenta usar as variáveis ​​de ambiente, elas parecem não ter efeito!

a1an
fonte
3
export http_proxy=http://proxy_host:proxy_port/
export https_proxy=https://proxy_host:proxy_port/

ou

export http_proxy=http://username:password@proxy_host:proxy_port/
export https_proxy=https://username:password@proxy_host:proxy_port/

Como todas as outras explicadas aqui, essas variáveis ​​de ambiente ajudam a transmitir proxies.

Nota: Mas, se a senha contiver algum caractere especial, é necessário que ela seja configurada como %<hex_value_of_special_char>.

Exemplo: Se a senha for pass#123, precisará ser usada como pass%23123nos comandos de exportação acima.

rashok
fonte
2

No Windows - digamos para o Fiddler - usando variáveis ​​de ambiente:

set http_proxy=http://127.0.0.1:8888
set https_proxy=http://127.0.0.1:8888
decreto
fonte
2

Se você precisar executar o wget apenas uma vez com o proxy, a maneira mais fácil é fazê-lo com uma linha como esta:

http_proxy=http://username:password@proxy_host:proxy_port wget http://fileurl

ou com um URL de destino https:

https_proxy=http://username:password@proxy_host:proxy_port wget https://fileurl
jplandrain
fonte
0

Adicione abaixo as linhas no arquivo ~ / .wgetrc ou / etc / wgetrc (crie o arquivo se ele não estiver lá):

http_proxy = http://[Proxy_Server]:[port]
https_proxy = http://[Proxy_Server]:[port]
ftp_proxy = http://[Proxy_Server]:[port]

Para obter mais informações, https://www.thegeekdiary.com/how-to-use-wget-to-download-file-via-proxy/

Vinoj John Hosan
fonte
0

iniciar wget através socks5 procuração usando tsocks :

  1. instale tsocks: sudo apt install tsocks
  2. tsocks de configuração

    # vi /etc/tsocks.conf
    
    server = 127.0.0.1
    server_type = 5
    server_port = 1080
  3. começar: tsocks wget http://url_to_get
cggos
fonte