Come impostare il proxy per wget?


224

Voglio scaricare qualcosa wgetusando un proxy:

HTTP Proxy: 127.0.0.1
Port: 8080

Il proxy non richiede nome utente e password.

Come posso fare questo?


15
Hakim - Ho notato che non hai accettato nessuna delle risposte. Significa che sono sbagliati e non dovrei seguire il consiglio dato? In tal caso, hai risolto il problema con qualcos'altro?
jww

Risposte:


413

Per tutti gli utenti del sistema tramite /etc/wgetrco per l'utente solo con il ~/.wgetrcfile:

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

o tramite le -eopzioni posizionate dopo l'URL:

wget ... -e use_proxy=yes -e http_proxy=127.0.0.1:8080 ...

4
La mia wget dice che deve essere use_proxy=on, no use_proxy=yes. Funziona bene altrimenti.
Barfuin,

4
Controllato. Funziona con wget -e <http_proxy> = 127.0.0.01: 8080 < download > ..., omettendo il parametro di comando "use_proxy = yes". Grazie!
Alejandrob,

3
@Thomas Jensen Hai ragione nel dire che wgetrc-manual dovrebbe essere ono off, ma in realtà sta provando un comando fasullo: -e use_proxy=bnwwget: use_proxy: Invalid boolean ‘bnw’; use 'on' or 'off'.mentre =yesnon dà un tale errore, quindi sembra non essere autorizzato ufficialmente.
mxmlnkn,

1
http_proxy=http://<user>:<password>@127.0.01:8080e allo stesso modo. altrimenti potresti doverli fornire esplicitamente mentre chiami wget (vedi - askubuntu.com/a/429943/350255 )
parasrish

1
Come lo spengo?
Tessaracter,

83

Digita la riga di comando:

$ export http_proxy=http://proxy_host:proxy_port

per proxy autenticato,

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

e poi corri

$ wget fileurl

per https, basta usare https_proxy invece di http_proxy. Puoi anche inserire queste righe nel tuo file ~ / .bashrc in modo da non doverlo eseguire ogni volta.


Come rimuovere il proxy
Tessaracter il

1
$ unset http_proxy
shivshnkr

38

le seguenti possibili configurazioni si trovano nel /etc/wgetrcsolo commento e usano ...

# 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 usa variabili d'ambiente come questa alla riga di comando può funzionare:

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"

Ha aiutato anche l'homebrew!
Miao1007,

16

Dopo aver provato molti tutorial per configurare il mio Ubuntu 16.04 LTS dietro un proxy autenticato, ha funzionato con questi passaggi:

Modifica /etc/wgetrc:

$ sudo nano /etc/wgetrc

Riattiva queste righe:

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

Cambia http://proxy.yoyodyne.com:18023/inhttp://username:password@domain:port/

IMPORTANTE: se lo fa ancora non funziona, verificare se la password è caratteri speciali, come ad esempio #, @... Se questo è il caso, li fuga (per esempio, sostituire passw@rdcon passw%40rd).




5

In Debian Linux wget può essere configurato per usare un proxy sia tramite variabili d'ambiente che tramite wgetrc. In entrambi i casi sono i nomi delle variabili da utilizzare per le connessioni HTTP e HTTPS

http_proxy=hostname_or_IP:portNumber
https_proxy=hostname_or_IP:portNumber

Nota che il file / etc / wgetrc ha la precedenza sulle variabili di ambiente, quindi se il tuo sistema ha un proxy configurato lì e provi ad usare le variabili di ambiente, sembrerebbero non avere alcun effetto!


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

o

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

Come tutti gli altri hanno spiegato qui, questa variabile d'ambiente aiuta a trasmettere i proxy.

Nota: ma per favore non che se la password contiene caratteri speciali, allora deve essere configurato come %<hex_value_of_special_char>.

Esempio: se la password è pass#123, deve essere utilizzata come pass%23123nei precedenti comandi di esportazione.


2

In Windows - diciamo Fiddler - usando le variabili d'ambiente:

set http_proxy=http://127.0.0.1:8888
set https_proxy=http://127.0.0.1:8888

2

Se devi eseguire wget solo una volta con il proxy, il modo più semplice è farlo con un one-liner come questo:

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

o con un URL di destinazione https:

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


0

avvia wget tramite proxy socks5 usando tsocks :

  1. installa tsocks: sudo apt install tsocks
  2. config tsocks

    # vi /etc/tsocks.conf
    
    server = 127.0.0.1
    server_type = 5
    server_port = 1080
  3. inizio: tsocks wget http://url_to_get
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.