Wie setze ich die http-Proxy-Adresse für wget unter Windows?

11

Wenn ohne Parameter meine wgetDrucke ausgeführt:

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.

Dies bedeutet wahrscheinlich, dass nach Datei wgetrcin gesucht wird c:/progra~1/wget/etc/wgetrc. Leider ist dieser Speicherort für Nicht-Root-Programme nicht verfügbar. Ich dachte, ich kann Umgebungsvariablen ändern SYSTEM_WGETRCoder ändern syswgetrc, aber das scheint keine Auswirkung zu haben

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

D:\>echo %syswgetrc%
D:\APPS\Util\wgetrc
Suzan Cioc
quelle
Autsch das ist so verdammt komisch. Warum bekommen Sie Schrägstriche c: /? Es sollte C: \
barlop
auch lustig, dass dein wget dir von wgetrc erzählt, meins nicht. Vielleicht haben wir eine andere Einstellung. Aber welche Version von wget hast du?
Barlop

Antworten:

10

wget --helpsagt dir nicht viel Weitere Informationen finden Sie im Online-Wget-Handbuch oder im Man- Wget-Handbuch (es handelt sich um verschiedene Dinge, oft lohnt es sich, sie zu überprüfen).

Kurz gesagt, hier ist ein Beispiel

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

und ein anderer

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

Das Handbuch erwähnt wgetrcBefehle . Sie sehen einige Dinge über http-Proxys, die dort aufgelistet sind.

6.3 Wgetrc-Befehle

  • http_proxy = string
    Verwenden Sie eine Zeichenfolge als http-Proxy anstelle der in der Umgebung angegebenen.
  • https_proxy = string
    Verwenden Sie eine Zeichenfolge als https-Proxy anstelle der in der Umgebung angegebenen.

8.1 Proxies

Wget unterstützt Proxys für http- und ftp-Abfragen. Die Standardmethode zum Festlegen des Proxy-Speicherorts, die Wget erkennt, ist die Verwendung der folgenden Umgebungsvariablen:

  • http_proxy
  • https_proxy
    Wenn festgelegt, sollten die Variablen http_proxy und https_proxy die URLs der Proxys für http- bzw. https-Verbindungen enthalten.

hinzugefügt

In Bezug auf die wget-Manpage und das "wget-Handbuch".

Manpages in der Befehlszeile sind aktuell, aber das Handbuch (eine andere Entität als Manpage) ist nicht immer eine aktuelle Wget-Version. Zum Zeitpunkt des Schreibens (September 2015) ist es. http://www.gnu.org/software/wget/manual/wget.html Sie können die Version oben sehen und prüfen, ob es sich um die neueste Version handelt. http://ftp.gnu.org/gnu/wget/ zeigt Daten an zu. (Sie sehen auf archive.org, dass das Gnu-Handbuch beispielsweise im November 2013 sehr veraltet war. Im November 2013, sogar im März 2014, wurde immer noch wget 1.13.4 angezeigt, das aus dem Jahr 2011 stammt.)

Wenn Sie für die Manpage über die Befehlszeile nachsehen, muss es sich um die Version handeln, die Sie verwenden, damit Sie dort in Ordnung sind, indem Sie nur sicherstellen, dass Ihr Befehl auf dem neuesten Stand ist / ihn aktualisiert. Möglicherweise möchten Sie überprüfen, ob in der von Ihnen verwendeten Online-Quelle die neueste Manpage angezeigt wird. Dieser scheint in Ordnung zu sein https://www.kernel.org/doc/man-pages/ Links zu http://man7.org/linux/man-pages/man1/wget.1.html Sie können dort auch die Version überprüfen gegen den FTP-Link, um sicherzustellen, dass es die neueste Version ist.

Barlop
quelle
Im Dezember 2013 hatte man wget eine neuere Version als die Webseite. Beispiel: --content-on-error befand sich auf dieser Man-Wget-Seite von 2013, jedoch nicht im Wget-Online-Handbuch, in dem die Optionen aufgeführt sind. Die Webseite ist also nicht immer auf dem neuesten Stand. Obwohl in meiner Antwort erwähnt, ist die Webseite ab September 2015 auf dem neuesten Stand.
Barlop
1

Ich denke, Sie möchten nur die HTTP_PROXYUmgebungsvariable festlegen .

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

Wget unterstützt Proxys für http- und ftp-Abfragen. Die Standardmethode zum Festlegen des Proxy-Speicherorts, die Wget erkennt, ist die Verwendung der folgenden Umgebungsvariablen:

http_proxy
https_proxy

Wenn festgelegt, sollten die Variablen http_proxy und https_proxy die URLs der Proxys für http- bzw. https-Verbindungen enthalten.

ckhan
quelle
1

Barlops Antwort ist im Allgemeinen in Ordnung, aber ein paar Kommentare:

In der Befehlszeile oder Batch-Datei dos / windows geben Sie an

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

dann funktioniert wget gut.

In der Regel werden Ihre Windows-Anmeldeinformationen für die einmalige Anmeldung auch benötigt, wenn Sie sich in einem Unternehmensnetzwerk mit NTLM-Authentifizierung für den Proxy befinden (Sie müssen sich nicht mit Domain - Backslash - Benutzer herumschlagen).

Steinweb
quelle