Wie setze ich einen Proxy für wget?


224

Ich möchte etwas mit wgeteinem Proxy herunterladen :

HTTP Proxy: 127.0.0.1
Port: 8080

Der Proxy benötigt keinen Benutzernamen und kein Passwort.

Wie kann ich das machen?


15
Hakim - Mir ist aufgefallen, dass Sie keine der Antworten akzeptiert haben. Bedeutet das, dass sie falsch sind und ich den gegebenen Ratschlägen nicht folgen sollte? Wenn ja, haben Sie das Problem mit etwas anderem gelöst?
JWW

Antworten:


413

Für alle Benutzer des Systems über das /etc/wgetrcoder für den Benutzer nur mit der ~/.wgetrcDatei:

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

oder über -eOptionen nach der URL:

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

4
Mein Wget sagt, dass es sein muss use_proxy=on, nicht use_proxy=yes. Funktioniert sonst gut.
Barfuin

4
Überprüft. Es funktioniert mit wget -e <http_proxy> = 127.0.0.01: 8080 < download > ..., wobei der Befehlsparameter "use_proxy = yes" weggelassen wird. Vielen Dank!
Alejandrob

3
@Thomas Jensen Sie haben Recht, das wgetrc-Handbuch besagt, dass es sein sollte onoder off, aber tatsächlich einen falschen Befehl versuchen: -e use_proxy=bnwgibt wget: use_proxy: Invalid boolean ‘bnw’; use 'on' or 'off'.while =yesgibt keinen solchen Fehler, so dass es inoffiziell erlaubt zu sein scheint.
mxmlnkn

1
http_proxy=http://<user>:<password>@127.0.01:8080und ebenfalls. Andernfalls müssen Sie diese möglicherweise explizit füttern, während Sie das wget aufrufen (siehe - askubuntu.com/a/429943/350255 )
parasrish

1
Wie schalte ich es aus?
Tessaracter

83

Geben Sie die Befehlszeile ein:

$ export http_proxy=http://proxy_host:proxy_port

für authentifizierten Proxy,

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

und dann laufen

$ wget fileurl

Verwenden Sie für https einfach https_proxy anstelle von http_proxy. Sie können diese Zeilen auch in Ihre ~ / .bashrc-Datei einfügen, damit Sie dies nicht jedes Mal ausführen müssen.


So entfernen Sie den Proxy
Tessaracter

1
$ unset http_proxy
shivshnkr

38

Die folgenden möglichen Konfigurationen befinden sich /etc/wgetrcnur in Kommentar und Verwendung ...

# 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 verwendet Umgebungsvariablen, die in der Befehlszeile wie folgt funktionieren können:

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"

Es hat auch beim Homebrew geholfen!
Miao1007

16

Nachdem ich viele Tutorials ausprobiert hatte, um mein Ubuntu 16.04 LTS hinter einem authentifizierten Proxy zu konfigurieren, funktionierte es mit den folgenden Schritten:

Bearbeiten /etc/wgetrc:

$ sudo nano /etc/wgetrc

Kommentieren Sie diese Zeilen aus:

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

Wechseln Sie http://proxy.yoyodyne.com:18023/zuhttp://username:password@domain:port/

WICHTIG: Wenn es immer noch nicht funktioniert, überprüfen Sie, ob Ihr Passwort Sonderzeichen enthält, wie #, @... Ist dies der Fall ist, sie zu entkommen (zum Beispiel ersetzen passw@rdmit passw%40rd).




5

In Debian Linux kann wget so konfiguriert werden, dass ein Proxy sowohl über Umgebungsvariablen als auch über wgetrc verwendet wird. In beiden Fällen sind die Variablennamen, die für HTTP- und HTTPS-Verbindungen verwendet werden sollen

http_proxy=hostname_or_IP:portNumber
https_proxy=hostname_or_IP:portNumber

Beachten Sie, dass die Datei / etc / wgetrc Vorrang vor den Umgebungsvariablen hat. Wenn also auf Ihrem System ein Proxy konfiguriert ist und Sie versuchen, die Umgebungsvariablen zu verwenden, scheinen diese keine Auswirkungen zu haben!


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

oder

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

Wie alle anderen hier erläutert, hilft diese Umgebungsvariable bei der Weitergabe von Proxys.

Hinweis: Bitte beachten Sie jedoch, dass das Kennwort, wenn es ein Sonderzeichen enthält, als konfiguriert werden muss %<hex_value_of_special_char>.

Beispiel: Wenn das Kennwort lautet pass#123, muss es wie pass%23123in den obigen Exportbefehlen verwendet werden.


2

In Windows - für Fiddler sagen - mit Umgebungsvariablen:

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

2

Wenn Sie wget nur einmal mit dem Proxy ausführen müssen, ist es am einfachsten, dies mit einem Einzeiler wie dem folgenden zu tun:

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

oder mit einer https-Ziel-URL:

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


0

Starten Sie wget durch socks5 Proxy mit tsocks :

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

    # vi /etc/tsocks.conf
    
    server = 127.0.0.1
    server_type = 5
    server_port = 1080
  3. Anfang: tsocks wget http://url_to_get
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.