Como forçar o wget a usar um servidor proxy sem modificar os arquivos do sistema?

16

Gostaria de saber um equivalente a wget, permitindo-me definir o proxy ao chamar o comando (como wget --proxy=$http_proxy ).

Alguma idéia?

    
por fxm 17.09.2013 / 14:57

5 respostas

16

Sem modificar seus arquivos de sistema em /etc/wgetrc , você pode criar um arquivo em seu diretório pessoal ~/.wgetrc . Ele permitirá que você modifique as configurações do wget localmente no nível do usuário. Agora escreva o seguinte em ~/.wgetrc para usar o wget por trás de um servidor proxy:

use_proxy = on
http_proxy =  http://username:password@proxy.server.address:port/
https_proxy =  http://username:password@proxy.server.address:port/
ftp_proxy =  http://username:password@proxy.server.address:port/

Se você não tem nome de usuário e senha do proxy, apenas escreva o endereço do proxy e a porta em todos os lugares,

http_proxy =  http://proxy.server.address:port/

Isso deve funcionar. Estou assumindo que você já tem configurações de proxy para todos os outros aplicativos.

    
por souravc 29.10.2013 / 20:17
26

A opção -e permite que você forneça comandos como em wgetrc na linha de comando então você não precisa mudar um arquivo ...

wget -e use_proxy=yes -e http_proxy=$proxy http://askubuntu.com
    
por jhs 17.02.2015 / 17:30
3

Você precisa editar o arquivo wgetrc localizado em /etc/wgetrc .

Use seu editor de texto favorito, por exemplo: nano /etc/wgetrc para editá-lo

Procure a tag link e remova o # na frente dele, adicione o servidor proxy após o sinal = , ou seja:

http_proxy=http://foo.proxy:8080

Em seguida, pesquise a tag use_proxy e remova o # na frente dela, salve o arquivo.

wget estará usando o servidor proxy especificado.

Se você não pode alterar a configuração do sistema com seu usuário, você pode copiar a configuração atual para um lugar que você possa editá-la, por exemplo: cp /etc/wgetrc ~ e use a opção --config=~/wgetrc para forçar o wget a usar a configuração que você alterou da configuração global.

    
por Bruno Pereira 17.09.2013 / 15:13
1

A partir da linha de comando, encontrei o sucesso que precede o comando wget com as informações de http_proxy sem a necessidade de usar as variáveis de ambiente. Por exemplo:

'$ http_proxy=<proxy-server-ip>:<port> wget http://www.example.com/'
    
por user819727 18.04.2018 / 18:37
0

Opção que não é mencionada, mas deve ser mencionada: Use variáveis ambientais (dependendo da sua distribuição):

http_proxy=http://<proxy-server-ip>:<port>
export http_proxy

ou simplesmente

export http_proxy=http://<proxy-server-ip>:<port>

O mesmo que:

https_proxy=http://<proxy-server-ip>:<port>
ftp_proxy=http://<proxy-server-ip>:<port>

Você pode incluir um nome de usuário e senha, se você tiver caracteres especiais em sua senha, certifique-se de incluir os '-s.

http_proxy='http://<username>:<password>@<proxy-server-ip>:<port>'

Exemplos:

export http_proxy=http://172.16.1.100:8080
export https_proxy='http://johndoe:ABC!123@172.16.1.100:8080'
    
por gjs 03.10.2017 / 11:10