Wget mit einem Proxy verwenden

In diesem Artikel tauchen Sie tief in die Welt von Wget und Linux ein und erfahren, wie Sie Proxys einfach in Ihren Workflow integrieren können.
10 min lesen
Using Wget with a Proxy

GNU Wget ist ein vielseitiges Befehlszeilen-Dienstprogramm, das für viele Linux-Benutzer unverzichtbar geworden ist, die damit mühelos Dateien aus dem Internet abrufen. Es ist funktionsreich, einfach zu bedienen und unterstützt gängige Netzwerkprotokolle, darunter HTTP, HTTPS und FTP. Darüber hinaus verfügt Wget über integrierte Unterstützung zum Herunterladen ganzer Websites oder Teilmengen von Seiten, was es zu einem idealen Tool für Web-Scraping, Mirroring und Archivierung macht.

Eines der beeindruckendsten Features von Wget ist die Fähigkeit, nahtlos mit Proxys zu arbeiten. Als Linux-Benutzer benötigt man oft einen Proxy, um die eigene Identität zu verschleiern, lästige regionale Einschränkungen zu umgehen oder die Leistung durch Load Balancing zu verbessern. Mit Wget in Ihrem Toolkit ist die Integration von Proxys ganz einfach.

Was ist Wget?

Wget, kurz für “World Wide Web” und “get”, ist ein freies und quelloffenes Programm für die Interaktion mit Dateien im Internet. Es ist Teil des GNU-Projekts, einer freien Software-Massenkooperationsinitiative.

Wget verfügt über praktische Funktionen für technische Benutzer, die online mit Dateien arbeiten. Dazu gehören Batch-Downloads, Fortsetzen unterbrochener Downloads, rekursives Herunterladen, Proxy-Unterstützung, Download-Planung, Bandbreitendrosselung, anpassbarer User-Agent und SSL/TLS-Unterstützung. Es ist außerdem nicht-interaktiv, was es perfekt für Skripte und Cron-Jobs macht, die im Hintergrund laufen.

Wget ist bei Linux- und Unix-Benutzern beliebt und ist auch für Windows und macOS verfügbar. Wgets beeindruckende Funktionspalette und plattformübergreifende Kompatibilität machen es zum bevorzugten Tool für verschiedene webbasierte Aufgaben, wie das Herunterladen großer Dateien, die Automatisierung von Downloads und das Erstellen von Website-Mirrors.

Proxys mit Wget unter Linux verwenden

Es gibt eine große Vielfalt an Proxys, darunter Datacenter-Proxys und Residential-IPs, jeder mit seinen eigenen Vorteilen und Anwendungsfällen. Die Verwendung von Proxys mit Wget bietet Vorteile wie das Umgehen von Geo- und Netzwerk-/ISP-Beschränkungen. Außerdem ermöglicht es Ihnen, beim Surfen im Web oder beim Herunterladen von Dateien anonym und privat zu bleiben.

Bei der Nutzung des richtigen Proxy-Anbieters können Proxys auch zum Caching häufig aufgerufener Ressourcen eingesetzt werden, was die Leistung steigert. Darüber hinaus können Proxy-Anbieter Ihre Netzwerkgeschwindigkeiten beeinflussen, durch einen breiten Proxy-Pool an IP-Adressen bei der Umgehung von Rate-Limits helfen und sogar Lösungen zur CAPTCHA-Lösung bereitstellen. Daher ist die Wahl des richtigen Proxy-Anbieters entscheidend dafür, dass Ihr Proxy effektiv funktioniert, insbesondere bei der Verwendung mit Wget.

Wget mit einem Proxy konfigurieren

Um Wget mit einem Proxy zu verwenden, müssen Sie die entsprechenden Einstellungen in Ihrer Umgebung oder im Wget-Befehl selbst konfigurieren. Es gibt verschiedene Möglichkeiten, dies zu tun, und dieses Tutorial behandelt vier davon: Proxy-Einstellungen über Umgebungsvariablen konfigurieren, Proxys für alle Benutzer durch Aktualisierung der /etc/wgetrc-Datei festlegen, Proxys für den aktuellen Benutzer durch Aktualisierung der ~/.wgetrc-Datei festlegen und den Proxy für die aktuelle Terminal-Instanz mit dem -e-Flag setzen. Sie erfahren auch, wie Sie Wget mit authentifizierten und nicht authentifizierten Proxys verwenden.

Alle in diesem Artikel besprochenen Konfigurationen finden Sie in diesem GitHub-Gist.

Bevor Sie Wget mit einem Proxy verwenden, benötigen Sie Folgendes:

  • Debian-basierte Systeme
  • Proxy-Server-Details: Um Wget mit einem Proxy zu verwenden, benötigen Sie die Details des Proxy-Servers. Dazu gehören die IP-Adresse oder der Hostname des Servers, die Portnummer und, falls erforderlich, Authentifizierungsinformationen (d. h. Benutzername und Passwort). Diese Informationen erhalten Sie von Ihrem Proxy-Anbieter oder Netzwerkadministrator.

1. Proxy-Einstellungen über Umgebungsvariablen konfigurieren

Der einfachste Weg, Proxy-Konfigurationen für Wget festzulegen, besteht darin, sie auf Systemebene mithilfe von Umgebungsvariablen zu definieren. Dies ermöglicht mehreren Programmen, den Wert zu lesen und zu verwenden, sodass Sie ihn nur einmal ändern müssen. Das Festlegen des Proxys als Umgebungsvariable stellt sicher, dass Wget ihn für alle Anfragen von Ihrem Computer verwendet.

Um einen Proxy für Wget einzurichten, fügen Sie die folgenden Zeilen zu Ihrer Shell-Konfigurationsdatei (d. h. .bashrc oder .bash_profile) hinzu und ersetzen Sie die Platzhalter durch die Adresse und den Port Ihres Proxy-Servers (d. h. http://proxy.example.com:8080):

export http_proxy=http://proxy_address:proxy_port
export https_proxy=https://proxy_address:proxy_port

Wenn der Proxy eine Authentifizierung erfordert, sollten Sie anstelle von http://proxy_address:proxy_port auch den Benutzernamen und das Passwort in der URL hinzufügen, sodass es so aussieht:

export http_proxy=http://username:password@proxy_address:proxy_port
export https_proxy=username:password@proxy_address:proxy_port
export ftp_proxy=username:password@proxy_address:proxy_port

Denken Sie daran, die Variablen für usernamepasswordproxy_address und proxy_port durch die entsprechenden Werte zu ersetzen (d. h. http_proxy=http://username:[email protected]:8080).

Nachdem Sie diese Zeilen hinzugefügt haben, starten Sie Ihre Shell neu oder führen Sie source .bashrc oder source .bash_profile aus, je nachdem, welche Datei Sie verwendet haben, um die Änderungen zu übernehmen.

2. Proxys für alle Benutzer durch Aktualisierung der /etc/wgetrc-Datei festlegen

Wenn Sie einen Proxy für das gesamte System festlegen müssen. Zum Beispiel, wenn Sie einen Proxy nur beim Herunterladen von Dateien mit Wget zum Schutz Ihrer Identität verwenden möchten, bietet Wget eine einfache Möglichkeit, dies zu tun, entweder für einen einzelnen Systembenutzer oder für alle Systembenutzer.

Das Festlegen des Proxys für alle Systembenutzer ist hilfreich, wenn es einen gemeinsam genutzten Unternehmensrechner mit verschiedenen Benutzern gibt, die auf denselben Proxy angewiesen sind. Wget ermöglicht es Ihnen, den Proxy einmal zu konfigurieren, sodass alle Benutzer darauf zugreifen können.

Um einen Proxy für alle Benutzer festzulegen, müssen Sie die Konfigurationsdatei unter /etc/wgetrc ändern. Die wgetrc-Datei ist eine Initialisierungsdatei, die Standardeinstellungen und Optionen für Wget speichert. Diese Datei ermöglicht es Ihnen, das Verhalten anzupassen, ohne immer Befehlszeilenargumente angeben zu müssen.

Um den Proxy festzulegen, öffnen Sie die wgetrc-Datei in Ihrem bevorzugten Texteditor und fügen Sie die folgenden Zeilen hinzu:

https_proxy = http://proxy.example.com:8080
http_proxy = http://proxy.example.com:8080
ftp_proxy = http://proxy.example.com:8080

Für authentifizierte Proxys verwenden Sie die folgende Syntax:

https_proxy = http://username:[email protected]:8080
http_proxy = http://username:[email protected]:8080
ftp_proxy = http://username:[email protected]:8080

Ersetzen Sie proxy.example.com:8080 und username:password durch die Adresse, den Port und die Anmeldeinformationen Ihres Proxy-Servers. Speichern Sie die Datei und schließen Sie den Editor. Von nun an werden alle Wget-Anfragen jedes Benutzers auf Ihrem System den angegebenen Proxy-Server verwenden.

3. Proxys für den aktuellen Benutzer durch Aktualisierung der ~/.wgetrc-Datei festlegen

Wget ermöglicht es Ihnen auch, die Proxy-Konfigurationen nur für den aktuellen Benutzer zu ändern. Dies kann hilfreich sein, wenn die Proxy-Details benutzerspezifische Authentifizierungsinformationen erfordern.

Um den Proxy festzulegen, müssen Sie die ~/.wgetrc-Datei erstellen/ändern. Dies ist eine benutzerspezifische wgetrc-Datei, die sich in Ihrem Home-Verzeichnis (~/) befindet. Sie speichert Konfigurationen, die nur den aktuellen Benutzer betreffen. Die ~/.wgetrc-Datei existiert möglicherweise nicht standardmäßig, insbesondere bei neuen Linux-Installationen oder Benutzerkonten, da die Datei typischerweise erstellt wird, wenn ein Benutzer Wget-Einstellungen für sein Konto anpassen muss. Falls die Datei nicht existiert, können Sie sie erstellen.

Sobald Sie die ~/.wgetrc-Datei haben, öffnen Sie sie in Ihrem bevorzugten Texteditor und fügen Sie die folgenden Zeilen hinzu:

https_proxy = http://proxy.example.com:8080
http_proxy = http://proxy.example.com:8080
ftp_proxy = http://proxy.example.com:8080

Denken Sie auch hier daran, proxy.example.com:8080 durch Ihre spezifischen Details zu ersetzen. Diese Methode betrifft nur Wget-Anfragen des aktuellen Benutzers. Wenn Sie zu einem anderen Benutzer auf demselben Rechner wechseln, gelten diese Einstellungen nicht.

4. Proxy für die aktuelle Terminal-Instanz mit dem -e-Flag festlegen

Wenn Sie den Proxy nicht auf System- oder Wget-Ebene festlegen möchten, können Sie ihn direkt beim Ausführen des Wget-Befehls konfigurieren. Diese Methode ermöglicht es Ihnen, verschiedene Proxy-Einstellungen für einzelne Wget-Befehle zu verwenden, was Ihnen mehr Flexibilität gibt.

Um die Proxy-Konfiguration für eine einzelne Wget-Anfrage anzugeben, verwenden Sie die folgende Syntax:

# http proxy
wget -e use_proxy=yes -e http_proxy=http://proxy_address:proxy_port URL
# https proxy
wget -e use_proxy=yes -e https_proxy=http://proxy_address:proxy_port URL

In diesem Code ist URL die URL, die Wget abrufen soll (z. B. www.google.com).

Für authentifizierte Proxys können Sie die http://username:password@proxy_address:proxy_port-Syntax zur Angabe des Proxys verwenden, wie im vorherigen Abschnitt beschrieben.

Diese Methode ermöglicht es Ihnen, einen Proxy für eine einzelne Anfrage festzulegen, ohne andere Anfragen, Terminal-Sitzungen oder Benutzer zu beeinflussen.

Wget verwenden

Glücklicherweise ist die Verwendung von Wget einfach. Die allgemeine Syntax für Wget lautet wget [options] [url], wobei Sie zuerst optionale Argumente (d. h. [options]) angeben, wie das -e use_proxy=yes, das Sie zuvor kennengelernt haben, gefolgt von der [url], die Sie abrufen möchten. Dies kann eine Mediendatei sein, wie ein Dokument oder sogar eine Webseite.

Da der erste Teil optional ist, können Sie eine Webressource abrufen, indem Sie wget [url] angeben. Zum Beispiel ruft wget http://example.com/file.pdf die Datei ab und lädt sie auf Ihren lokalen Rechner herunter.

Sie können eine Datei auch herunterladen und dabei den Namen angeben, unter dem sie auf der Festplatte gespeichert werden soll. Verwenden Sie dazu das --output-document-Argument:

 wget --output-document=image.jpg https://httpbin.org/image/jpeg

Wget ermöglicht es Ihnen auch, Downloads zu bündeln und mehrere URLs in einem Befehl herunterzuladen. Dazu müssen Sie eine Datei erstellen und Ihre URLs einfügen, jede in einer eigenen Zeile. Danach können Sie den folgenden Befehl ausführen:

wget ‐‐input list-of-file-urls.txt

Bitte beachten: Wenn Sie Methode 4 zur Angabe Ihres Proxys verwenden, müssen Sie -e use_proxy=yes -e http_proxy=http://proxy_address:proxy_port an die vorherigen Befehle anhängen, damit sie mit einem Proxy funktionieren. Die Optionen 1, 2 und 3 funktionieren wie beschrieben, da der Proxy bereits konfiguriert ist.

Fazit

In diesem Artikel haben Sie vier verschiedene Methoden zur Verwendung von Wget mit einem Proxy und deren Vorteile kennengelernt. Sie können die am besten geeignete Methode je nach Ihren Präferenzen auswählen, um Proxys systemweit, für alle Benutzer, für einen bestimmten Benutzer oder für eine einzelne Wget-Anfrage anzuwenden.

Obwohl die Verwendung von Wget mit einem Proxy zahlreiche Vorteile bietet, ist die Wahl der richtigen Proxy-Dienste entscheidend für maximale Leistung und Zuverlässigkeit. Bright Data ist eine Web-Dateninfrastruktur, die Unternehmen beim Sammeln großer Mengen strukturierter Daten aus dem Web unterstützt. Durch die Nutzung ihrer Proxy-Lösungen können Sie Ihre Wget-Erfahrung verbessern und die Anzahl fehlgeschlagener Anfragen reduzieren, was einen besseren Informationsabruf aus dem Internet gewährleistet.

Ob Start-up oder Großunternehmen, Bright Data hilft Ihnen beim Web-Scraping und der Datenerfassung mit ihren Proxy-Lösungen und benutzerdefinierten Tools wie Web Scraper API und Web Unlocker. Entdecken Sie Bright Datas Datacenter-ProxysProxy-Server-Optionen und Preise, um die perfekte Lösung für Ihre Proxy-Netzwerkanforderungen zu finden.