Zum Inhalt springen
GProxy
Registrierung
Гайды 5 Min. Lesezeit 30 Aufrufe

Proxy-Einrichtung für wget

Meistern Sie die Proxy-Konfiguration für wget mit unserer umfassenden Anleitung. Lernen Sie, einen Proxy-Server mit wget für sichere Downloads einzurichten und zu verwenden.

Proxy-Einrichtung für wget

Um wget für Downloads über einen Proxy zu konfigurieren, setzen Sie die Umgebungsvariablen http_proxy, https_proxy oder ftp_proxy, geben Sie Proxy-Details über Befehlszeilenoptionen an oder definieren Sie diese in einer .wgetrc-Konfigurationsdatei.

Die Proxy-Konfiguration für wget ist notwendig, wenn der direkte Internetzugang durch Firewalls eingeschränkt ist, um Datenverkehr durch ein bestimmtes Netzwerk zu leiten oder zu Anonymisierungszwecken. wget unterstützt HTTP-, HTTPS- und FTP-Protokolle sowohl für Zielressourcen als auch für Proxy-Verbindungen.

Proxy-Konfigurationsmethoden

Es gibt drei primäre Methoden, wget für die Verwendung eines Proxys zu konfigurieren: Umgebungsvariablen, Befehlszeilenoptionen und die .wgetrc-Konfigurationsdatei. Jede Methode bietet unterschiedliche Geltungsbereiche und Persistenzstufen.

Umgebungsvariablen

Umgebungsvariablen bieten eine systemweite oder sitzungsspezifische Proxy-Konfiguration, die wget automatisch erkennt. Dies ist oft die gängigste Methode für temporäre oder benutzerspezifische Einstellungen.

  • http_proxy: Wird für HTTP-Ziele verwendet.
  • https_proxy: Wird für HTTPS-Ziele verwendet.
  • ftp_proxy: Wird für FTP-Ziele verwendet.
  • no_proxy: Gibt eine kommagetrennte Liste von Domains oder IP-Adressen an, die den Proxy umgehen sollen.

Das allgemeine Format für Proxy-URLs ist http://[user:password@]host:port/. wget verwendet primär HTTP-Proxys, um Inhalte abzurufen, unabhängig davon, ob die Ziel-URL HTTP oder HTTPS ist. Daher ist http_proxy oft ausreichend für HTTP- und HTTPS-Ziele, es sei denn, ein spezifischer HTTPS-Proxy ist erforderlich.

Temporäre Konfiguration (Aktuelle Sitzung)

Setzen Sie diese Variablen in Ihrer Shell, bevor Sie wget aufrufen.

Linux/macOS (Bash/Zsh):

export http_proxy="http://proxy.example.com:8080"
export https_proxy="http://proxy.example.com:8080"
export ftp_proxy="http://proxy.example.com:8080"
export no_proxy="localhost,127.0.0.1,.internal.domain.com"

wget http://example.com/file.zip
wget https://secure.example.com/data.tar.gz

Für Proxys, die eine Authentifizierung erfordern:

export http_proxy="http://user:password@proxy.example.com:8080"
export https_proxy="http://user:password@proxy.example.com:8080"

wget http://example.com/file.zip

Hinweis: Das direkte Einbetten von Anmeldeinformationen in Umgebungsvariablen oder URLs wird in sicherheitssensiblen Umgebungen generell nicht empfohlen, da sie für andere Prozesse sichtbar sein oder in der Shell-Historie gespeichert werden können.

Um den Proxy für eine bestimmte Sitzung zu deaktivieren:

unset http_proxy
unset https_proxy
unset ftp_proxy

Windows (CMD):

set http_proxy=http://proxy.example.com:8080
set https_proxy=http://proxy.example.com:8080
set ftp_proxy=http://proxy.example.com:8080
set no_proxy=localhost,127.0.0.1,.internal.domain.com

wget http://example.com/file.zip

Windows (PowerShell):

$env:http_proxy="http://proxy.example.com:8080"
$env:https_proxy="http://proxy.example.com:8080"
$env:ftp_proxy="http://proxy.example.com:8080"
$env:no_proxy="localhost,127.0.0.1,.internal.domain.com"

wget http://example.com/file.zip

Permanente Konfiguration (Benutzerspezifisch)

Um Proxy-Einstellungen sitzungsübergreifend für einen bestimmten Benutzer persistent zu machen, fügen Sie die export-Befehle zur Profil-Datei Ihrer Shell (z.B. ~/.bashrc, ~/.zshrc, ~/.profile unter Linux/macOS) oder zu systemweiten Konfigurationsdateien hinzu.

Beispiel für ~/.bashrc:

# Proxy-Einstellungen
export http_proxy="http://proxy.example.com:8080"
export https_proxy="http://proxy.example.com:8080"
export ftp_proxy="http://proxy.example.com:8080"
export no_proxy="localhost,127.0.0.1,.internal.domain.com"

Nach dem Bearbeiten die Datei sourcen oder Ihre Shell neu starten: source ~/.bashrc.

Befehlszeilenoptionen

wget bietet spezifische Befehlszeilenoptionen für die Proxy-Konfiguration, die Umgebungsvariablen und .wgetrc-Einstellungen für einen einzelnen Aufruf überschreiben. Dies ist geeignet für einmalige Downloads oder Skripte, bei denen Proxy-Einstellungen dynamisch gesteuert werden müssen.

  • --proxy-on: Proxy-Nutzung explizit aktivieren.
  • --proxy-off: Proxy-Nutzung explizit deaktivieren.
  • --no-proxy: Kommagetrennte Liste von Domains, die den Proxy umgehen sollen (ähnlich der Umgebungsvariablen no_proxy).
  • --proxy-user=<user>: Proxy-Benutzernamen angeben.
  • --proxy-password=<password>: Proxy-Passwort angeben.

Anwendungsbeispiele:

# Eine Datei über einen Proxy herunterladen, dabei alle Standardeinstellungen überschreiben
wget --proxy-on --proxy-user=myuser --proxy-password=mypassword http://proxy.example.com:8080 http://example.com/file.zip

# Eine Datei direkt herunterladen, dabei jeden konfigurierten Proxy umgehen
wget --proxy-off http://example.com/file.zip

# Proxy verwenden, aber für eine bestimmte Domain umgehen
wget --no-proxy=internal.example.com --proxy-on http://proxy.example.com:8080 http://example.com/file.zip

Bei der Verwendung von --proxy-user und --proxy-password versucht wget, sich mit dem Proxy unter Verwendung der bereitgestellten Anmeldeinformationen zu authentifizieren. Die Proxy-Adresse selbst wird typischerweise immer noch über Umgebungsvariablen oder .wgetrc definiert.

.wgetrc Konfigurationsdatei

Die .wgetrc-Datei ermöglicht persistente, benutzerspezifische oder systemweite Proxy-Einstellungen. wget liest diese Datei bei der Ausführung.

  • Benutzerspezifisch: ~/.wgetrc (Linux/macOS) oder ein durch die Umgebungsvariable WGETRC angegebener Pfad.
  • Systemweit: /etc/wgetrc (Linux/macOS).

Einstellungen in ~/.wgetrc haben Vorrang vor /etc/wgetrc. Befehlszeilenoptionen überschreiben beide.

Konfigurationsanweisungen:

# Proxy-Nutzung standardmäßig aktivieren oder deaktivieren
use_proxy = on

# HTTP-Proxy definieren
http_proxy = http://proxy.example.com:8080/

# HTTPS-Proxy definieren
https_proxy = http://proxy.example.com:8080/

# FTP-Proxy definieren
ftp_proxy = http://proxy.example.com:8080/

# Proxy-Authentifizierungsdaten
proxy_user = myuser
proxy_password = mypassword

# Domains, die den Proxy umgehen sollen
no_proxy = localhost,127.0.0.1,.internal.domain.com

Beispielinhalt für ~/.wgetrc:

# Proxy-Nutzung aktivieren
use_proxy = on

# Proxy-Server-Details
http_proxy = http://user:password@proxy.example.com:8080/
https_proxy = http://user:password@proxy.example.com:8080/
ftp_proxy = http://user:password@proxy.example.com:8080/

# Domains, die vom Proxy ausgeschlossen werden sollen
no_proxy = localhost,127.0.0.1,dev.local

Proxy-Authentifizierung

wget unterstützt die Basic- und Digest-Proxy-Authentifizierung.

  • Über URL: Wie in den Beispielen für Umgebungsvariablen gezeigt (http://user:password@host:port). Dies ist weniger sicher, da Anmeldeinformationen in Protokollen oder der Shell-Historie erscheinen können.
  • Über proxy_user und proxy_password: In .wgetrc oder über Befehlszeilenoptionen (--proxy-user, --proxy-password). Dies wird im Allgemeinen aus Sicherheitsgründen bevorzugt, da wget den Authentifizierungs-Handshake übernimmt, ohne Anmeldeinformationen unverschlüsselt in der URL offenzulegen.

Vergleich der Konfigurationsmethoden

Merkmal Umgebungsvariablen Befehlszeilenoptionen .wgetrc-Datei
Geltungsbereich Sitzungs- oder Benutzerspezifisch (über Profil-Dateien) Einzelner wget-Befehlsaufruf Benutzerspezifisch (~/.wgetrc) oder Systemweit (/etc/wgetrc)
Persistenz Temporär (Sitzung) oder Permanent (Profil-Datei) Keine (flüchtig) Permanent
Rangfolge Wird von Befehlszeilenoptionen überschrieben Höchste (überschreibt alle anderen Methoden) Wird von Befehlszeilenoptionen und Umgebungsvariablen überschrieben
Anwendungsfall Allgemeiner Zweck, häufige Nutzung, Skripterstellung Einmalige Downloads, dynamische Proxy-Änderungen, Tests Standardeinstellungen für einen Benutzer oder ein System
Authentifizierung Über URL (weniger sicher) Dedizierte Optionen (--proxy-user, --proxy-password) Dedizierte Anweisungen (proxy_user, proxy_password)

Behebung häufiger Probleme

  • "Proxy authentication required": Stellen Sie sicher, dass proxy_user und proxy_password korrekt gesetzt sind oder Anmeldeinformationen in der Proxy-URL bereitgestellt werden. Überprüfen Sie, ob Benutzername und Passwort korrekt sind.
  • "Connection refused" / "Verbindung zum Proxy nicht möglich":
    • Überprüfen Sie, ob Host und Port des Proxys korrekt sind und der Proxy-Dienst läuft.
    • Überprüfen Sie die Netzwerkverbindung vom Client zum Proxy-Server.
    • Firewalls (client- oder proxyseitig) könnten die Verbindung blockieren.
  • "Bad Gateway" / "HTTP-Fehler 502": Der Proxy-Server konnte keine Verbindung zum Upstream-Server herstellen oder ist bei der Bearbeitung der Anfrage auf einen Fehler gestoßen. Dies deutet typischerweise auf ein Problem mit dem Proxy-Server selbst oder dessen Verbindung zum Internet hin.
  • wget verwendet den Proxy nicht:
    • Überprüfen Sie use_proxy = on in .wgetrc oder dass Umgebungsvariablen korrekt gesetzt und exportiert sind.
    • Stellen Sie sicher, dass keine widersprüchlichen --proxy-off- oder no_proxy-Einstellungen für die Ziel-URL aktiv sind.
    • Überprüfen Sie Proxy-Adressen auf Tippfehler.
  • no_proxy funktioniert nicht: Stellen Sie sicher, dass die no_proxy-Liste korrekt formatiert ist (kommagetrennt, keine Leerzeichen um die Kommas) und die genauen Domains oder IP-Adressen enthält. wget führt eine Teilstring-Übereinstimmung durch, so passt .example.com zu host.example.com.
  • HTTPS-Ziele schlagen über HTTP-Proxy fehl: Während wget oft HTTPS durch einen HTTP-Proxy tunneln kann, erfordern einige Proxys oder Netzwerkkonfigurationen möglicherweise eine dedizierte HTTPS-Proxy-Einstellung (unter Verwendung von https_proxy) oder eine direkte Verbindung für HTTPS. Wenn https_proxy nicht gesetzt ist, verwendet wget standardmäßig http_proxy. Stellen Sie sicher, dass Ihr Proxy-Server SSL/TLS-Tunneling unterstützt.
Aktualisiert: 03.03.2026
Zurück zur Kategorie

Testen Sie unsere Proxys

20.000+ Proxys in über 100 Ländern weltweit

support_agent
GProxy Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.