Come impostare l'indirizzo proxy http per wget in Windows?


11

Se eseguito senza parametri le mie wgetstampe:

D:\>wget
SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc
syswgetrc = c:/progra~1/wget/etc/wgetrc
D:\Apps\Util\wget: missing URL
Usage: D:\Apps\Util\wget [OPTION]... [URL]...

Try `D:\Apps\Util\wget --help' for more options.

Questo probabilmente significa che cerca file wgetrcin c:/progra~1/wget/etc/wgetrc. Sfortunatamente, questa posizione non è disponibile per i programmi non root. Pensavo di poter modificare SYSTEM_WGETRCo syswgetrcvariabili d'ambiente, ma questo sembra non avere alcun effetto

D:\>echo %SYSTEM_WGETRC%
d:\apps\util\wgetrc

D:\>echo %syswgetrc%
D:\APPS\Util\wgetrc

Ahi è così dannatamente strano. Perché ottieni le barre in avanti c: /? Dovrebbe essere C: \
barlop il

divertente anche che la tua wget ti parli di wgetrc, la mia no. Forse abbiamo qualche impostazione diversa. Ma quale versione di wget hai?
barlop

Risposte:


10

wget --helpnon ti dice molto. Per maggiori dettagli puoi consultare il manuale di wget online O man wget (sono cose diverse, spesso vale la pena controllarle ognuna)

In breve, ecco un esempio

C:\sdf>wget -e http_proxy=127.0.0.1:8118 www.google.com

e un altro

C:\sdf>set http_proxy=127.0.0.1:8118
C:\sdf>wget www.google.com

Il manuale menziona i wgetrccomandi . Vedete alcune cose sui proxy http elencati qui.

6.3 Comandi Wgetrc

  • http_proxy = string
    Usa la stringa come proxy http, invece di quella specificata nell'ambiente.
  • https_proxy = string
    Usa la stringa come proxy https, anziché quella specificata nell'ambiente.

8.1 Proxy

Wget supporta i proxy per il recupero di http e ftp. Il modo standard per specificare la posizione del proxy, che Wget riconosce, sta usando le seguenti variabili d'ambiente:

  • http_proxy
  • https_proxy
    Se impostato, le variabili http_proxy e https_proxy dovrebbero contenere rispettivamente gli URL dei proxy per le connessioni http e https.

aggiunto

Per quanto riguarda la pagina man di wget e il "manuale di wget".

Le pagine man sulla riga di comando sono aggiornate, ma il manuale (un'entità diversa dalla manpage) non è sempre una versione di wget aggiornata. Al momento della scrittura (settembre 2015) lo è. http://www.gnu.org/software/wget/manual/wget.html Puoi vedere la versione in alto e verificare se è l'ultima http://ftp.gnu.org/gnu/wget/ che mostra le date pure. (Vedi su archive.org che ad esempio nel novembre 2013 il manuale di gnu era molto obsoleto. Nel novembre 2013 anche a marzo 2014, stavano ancora mostrando wget 1.13.4 che era del 2011)

Per la manpage, se stai controllando dalla riga di comando, allora deve essere la versione che stai usando, quindi puoi stare bene lì solo assicurandoti che il tuo comando sia aggiornato / aggiornandolo. Potresti voler controllare che la / qualsiasi fonte online che stai utilizzando mostri la pagina man più recente. Questo sembra perfetto https://www.kernel.org/doc/man-pages/ collegamenti a http://man7.org/linux/man-pages/man1/wget.1.html Puoi anche controllare la versione lì contro il collegamento ftp per assicurarsi che sia l'ultima versione.


Nel dicembre 2013, man wget aveva una versione più recente della pagina web. ad es. --content-on-error era sulla pagina man di wget del 2013, ma non sul manuale online di wget che elenca le opzioni. Quindi la pagina web non è sempre aggiornata. Sebbene, come indicato nella mia risposta, a partire da settembre 2015, la pagina Web è aggiornata.
barlop

1

Penso che tu voglia solo impostare la HTTP_PROXYvariabile d'ambiente.

Da: http://www.gnu.org/software/wget/manual/html_node/Proxies.html :

Wget supporta i proxy per il recupero di http e ftp. Il modo standard per specificare la posizione del proxy, che Wget riconosce, sta usando le seguenti variabili d'ambiente:

http_proxy
https_proxy

Se impostato, le variabili http_proxy e https_proxy dovrebbero contenere rispettivamente gli URL dei proxy per le connessioni http e https.


1

la risposta di barlop in generale va bene, ma alcuni commenti:

nella riga di comando dos / windows o nel file batch, si specifica

set http[s]_proxy=http[s]://proxyserver:port/

quindi wget funziona bene.

di solito prenderà anche le credenziali di accesso singolo di Windows se ci si trova in una rete aziendale con autenticazione NTLM rispetto al proxy (non è necessario preoccuparsi di dominio - barra rovesciata - utente)

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.