Quero baixar algo wget
usando 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?
Quero baixar algo wget
usando 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?
Respostas:
Para todos os usuários do sistema via /etc/wgetrc
ou para o usuário apenas com o ~/.wgetrc
arquivo:
use_proxy=yes
http_proxy=127.0.0.1:8080
https_proxy=127.0.0.1:8080
ou por meio de -e
opções colocadas após o URL:
wget ... -e use_proxy=yes -e http_proxy=127.0.0.1:8080 ...
use_proxy=on
, não use_proxy=yes
. Funciona bem caso contrário.
on
ou off
, mas realmente tentando um comando falso: -e use_proxy=bnw
give wget: use_proxy: Invalid boolean ‘bnw’; use 'on' or 'off'.
while =yes
não dá tal erro, então parece ser permitido oficialmente.
http_proxy=http://<user>:<password>@127.0.01:8080
e da mesma forma. caso contrário você pode ter para alimentar estes explicitamente ao chamar o wget (consulte - askubuntu.com/a/429943/350255 )
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.
as seguintes configurações possíveis estão localizadas em /etc/wgetrc
apenas 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
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"
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, substituirpassw@rd
compassw%40rd
).
No Ubuntu 12.x, adicionei as seguintes linhas em $ HOME / .wgetrc
http_proxy = http: // uname: passwd@proxy.blah.com: 8080
use_proxy = on
No meu ubuntu, as seguintes linhas em $ HOME / .wgetrc fizeram o truque!
http_proxy = http: // uname: passwd@proxy.blah.com: 8080
use_proxy = on
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!
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%23123
nos comandos de exportação acima.
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
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/