Voglio scaricare qualcosa wget
usando un proxy:
HTTP Proxy: 127.0.0.1
Port: 8080
Il proxy non richiede nome utente e password.
Come posso fare questo?
Voglio scaricare qualcosa wget
usando un proxy:
HTTP Proxy: 127.0.0.1
Port: 8080
Il proxy non richiede nome utente e password.
Come posso fare questo?
Risposte:
Per tutti gli utenti del sistema tramite /etc/wgetrc
o per l'utente solo con il ~/.wgetrc
file:
use_proxy=yes
http_proxy=127.0.0.1:8080
https_proxy=127.0.0.1:8080
o tramite le -e
opzioni posizionate dopo l'URL:
wget ... -e use_proxy=yes -e http_proxy=127.0.0.1:8080 ...
use_proxy=on
, no use_proxy=yes
. Funziona bene altrimenti.
on
o off
, ma in realtà sta provando un comando fasullo: -e use_proxy=bnw
dà wget: use_proxy: Invalid boolean ‘bnw’; use 'on' or 'off'.
mentre =yes
non dà un tale errore, quindi sembra non essere autorizzato ufficialmente.
http_proxy=http://<user>:<password>@127.0.01:8080
e allo stesso modo. altrimenti potresti doverli fornire esplicitamente mentre chiami wget (vedi - askubuntu.com/a/429943/350255 )
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.
le seguenti possibili configurazioni si trovano nel /etc/wgetrc
solo 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
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"
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, sostituirepassw@rd
conpassw%40rd
).
In Ubuntu 12.x, ho aggiunto le seguenti righe in $ HOME / .wgetrc
http_proxy = http: // uname: passwd@proxy.blah.com: 8080
use_proxy = on
Nel mio ubuntu, seguire le righe in $ HOME / .wgetrc ha funzionato!
http_proxy = http: // uname: passwd@proxy.blah.com: 8080
use_proxy = on
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!
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%23123
nei precedenti comandi di esportazione.
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
Aggiungi sotto le righe nel file ~ / .wgetrc o / etc / wgetrc (crea il file se non è presente):
http_proxy = http://[Proxy_Server]:[port]
https_proxy = http://[Proxy_Server]:[port]
ftp_proxy = http://[Proxy_Server]:[port]
Per ulteriori informazioni, https://www.thegeekdiary.com/how-to-use-wget-to-download-file-via-proxy/