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 Arbeitsablauf einbinden können.
11 min read
Using Wget with a Proxy

GNU Wget ist ein vielseitiges Kommandozeilenprogramm, das für viele Linux-Benutzer unverzichtbar geworden ist, da sie damit mühelos Dateien aus dem Internet abrufen können. Es verfügt über zahlreiche Funktionen, ist einfach zu bedienen und unterstützt gängige Netzwerkprotokolle, darunter HTTP, HTTPS und FTP. Darüber hinaus verfügt Wget über eine integrierte Unterstützung für das Herunterladen ganzer Websites oder Teilen davon, was es zu einem idealen Werkzeug für das Web Scraping, Spiegelungen und Archivierung macht.

Eine der beeindruckendsten Eigenschaften von Wget ist seine Fähigkeit, nahtlos mit Proxys zu arbeiten. Als Linux-Benutzer benötigen Sie oft einen Proxy, um Ihre Identität zu verschleiern, lästige regionale Beschränkungen zu umgehen oder die Leistung durch Lastausgleich zu verbessern. Mit Wget in Ihrem Toolkit ist die Einbindung von Proxys ganz einfach.

Was ist Wget?  

Wget, die Abkürzung 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, einem Projekt für freie Software, an dem viele Menschen mitarbeiten.

Wget ist mit praktischen Funktionen für technische Benutzer ausgestattet, die online mit Dateien arbeiten. Dazu gehören Batch-Downloads, die Wiederaufnahme unterbrochener Downloads, rekursive Downloads, Proxy-Unterstützung, Download-Planung, Bandbreiten-Drosselung, anpassbare User-Agents und SSL/TLS-Unterstützung. Außerdem ist es nicht interaktiv und eignet sich daher perfekt für Skripte und Cronjobs, die im Hintergrund laufen.

Wget ist unter Linux- und Unix-Benutzern sehr beliebt und es gibt auch Versionen für Windows und macOS. Die beeindruckende Bandbreite an Funktionen und die plattformübergreifende Kompatibilität von Wget machen es zum bevorzugten Tool für verschiedene webbasierte Aufgaben, wie das Herunterladen großer Dateien, das Automatisieren von Downloads und das Erstellen von Mirrorseiten.

Verwendung von Proxys mit Wget unter Linux  

Es gibt eine Vielzahl von Proxys, darunter Datacenter- und Residential-Proxys, die jeweils ihre eigenen Vorteile und Anwendungsbereiche haben. Die Verwendung von Proxys mit Wget bietet Vorteile, z. B. die Umgehung von geografischen und Netzwerk/ISP-Beschränkungen. Außerdem ermöglichen sie es, dass Sie beim Surfen im Internet oder beim Herunterladen von Dateien Ihre Anonymität und Privatsphäre wahren.

Bei Verwendung des richtigen Proxy-Anbieters können Proxys auch zum Zwischenspeichern häufig genutzter Ressourcen verwendet werden, was die Leistung erhöht. Proxy-Anbieter können auch die Geschwindigkeit Ihres Netzwerks beeinflussen, Ihnen helfen, Ratenbeschränkungen zu umgehen, indem sie einen großen Pool von IP-Adressen bereitstellen, und sogar Lösungen anbieten, die Ihnen helfen, CAPTCHAs zu umgehen. Deshalb ist die Auswahl des richtigen Proxy-Anbieters besonders wichtig. Denn so stellen Sie sicher, dass Ihr Proxy effektiv funktioniert, insbesondere wenn Sie ihn zusammen mit Wget verwenden.  

Einrichten von Wget mit einem Proxy  

Um Wget mit einem Proxy zu verwenden, müssen Sie die entsprechenden Einstellungen in Ihrer Umgebung oder im Wget-Befehl vornehmen. Es gibt verschiedene Möglichkeiten, dies zu tun. In dieser Anleitung werden vier dieser Möglichkeiten behandelt: Konfiguration der Proxy-Einstellungen mithilfe von Umgebungsvariablen, Einrichten von Proxys für alle Benutzer durch Aktualisierung der Datei /etc/wgetrc, Einrichten von Proxys für den derzeitigen Benutzer durch Aktualisierung der Datei ~/.wgetrc und Einrichten des Proxys für die aktuelle Instanz des Endgeräts mithilfe der Flagge -e. Außerdem lernen Sie, wie Sie Wget sowohl mit authentifizierten als auch mit nicht authentifizierten Proxys verwenden können.  

Sie finden alle in diesem Artikel besprochenen Einstellungen in diesem GitHub gist.

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

  • Linux-Umgebung: Diese Anleitung wurde für ein Linux-System erstellt, das Ubuntu, Fedora, Debian oder eine andere Linux-Distribution sein kann. Stellen Sie sicher, dass Sie Linux auf Ihrem Rechner oder in einer virtuellen Umgebung installiert haben.  
  • Wget: Wget ist auf den meisten Linux-Systemen vorinstalliert. Um zu prüfen, ob es installiert ist, schalten Sie Ihren Rechner ein und geben Sie wget --version ein. Wenn Wget installiert ist, gibt der Befehl seine Versionsnummer zurück. Wenn es nicht installiert ist, können Sie Wget mit dem Paketmanager Ihrer Distribution installieren, z. B. mit apt für Debian-basierte Systeme oder yum für Fedora.
  • Angaben zum Proxyserver: Um Wget mit einem Proxy zu verwenden, benötigen Sie die Angaben zum Proxyserver. Dazu gehören die IP-Adresse oder der Hostname des Servers, die Portnummer und, falls erforderlich, die Authentifizierungsdaten (d. h. Benutzername und Passwort). Diese Informationen erhalten Sie von Ihrem Proxy-Anbieter oder Netzwerkadministrator.  

1. Konfiguration der Proxy-Einstellungen mithilfe von Umgebungsvariablen

 

Die einfachste Möglichkeit, Proxy-Einstellungen für Wget festzulegen, ist sie auf Systemebene mithilfe von Umgebungsvariablen zu definieren. Dadurch können mehrere Programme den Wert lesen und verwenden, sodass Sie ihn nur einmal ändern müssen. Wenn Sie den Proxy als Umgebungsvariable festlegen,stellen Sie sicher, dass Wget ihn für alle Anfragen, die von Ihrem Computer gesendet werden, verwendet.

Um einen Proxy für Wget einzurichten, fügen Sie die folgenden Zeilen zu Ihrer Shell-Konfigurationsdatei hinzu (z. B .bashrc oder .bash_profile) und ersetzen die Platzhalter durch die Adresse und den Port Ihres Proxy-Servers (z. B 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, fügen Sie anstelle von http://proxy_address:proxy_port auch den Benutzernamen und das Passwort in die URL ein. Das sieht dann wie folgt aus:

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 username, password, proxy_addressund proxy_port durch die entsprechenden Werte zu ersetzen (z. B. http_proxy=http://username:[email protected]:8080).

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

2. Proxies für alle Benutzer durch Aktualisieren der Datei /etc/wgetrc einrichten

 

Tun Sie dies, wenn Sie einen Proxy für das gesamte System festlegen müssen. Wenn Sie z. B. einen Proxy nur für das Herunterladen von Dateien mit Wget verwenden möchten, um Ihre Identität zu schützen, bietet Wget eine einfache Möglichkeit, dies zu tun. Das kann entweder für einen einzelnen Systembenutzer oder für alle Systembenutzer erfolgen.

Die Einstellung des Proxys für alle Systembenutzer ist hilfreich, wenn es einen gemeinsam genutzten Firmencomputer gibt, auf dem verschiedene Benutzer denselben Proxy für ihre Arbeit verwenden. Mit Wget können Sie den Proxy einmalig so konfigurieren, dass alle Benutzer darauf zugreifen können.

Um einen Proxy für alle Benutzer einzurichten, müssen Sie die Konfigurationsdatei ändern, die sich in /etc/wgetrc befindet. Die Datei wgetrc ist eine Initialisierungsdatei, die Standardeinstellungen und Optionen für Wget speichert. Mit dieser Datei können Sie das Verhalten des Programms anpassen, ohne immer wieder neue Befehlszeilenargumente eingeben zu müssen.

Um den Proxy einzurichten, öffnen Sie die Datei wgetrc mit Ihrem bevorzugten Texteditor und fügen 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 Angaben zur Autorisierung Ihres Proxyservers. Speichern Sie die Datei und schließen Sie den Editor. Von nun an werden alle Wget-Anfragen, die von einem beliebigen Benutzer von Ihrem System gesendet werden, den angegebenen Proxy-Server verwenden.

3. Proxys für den aktuellen Benutzer durch Aktualisieren der Datei ~/.wgetrc einrichten

 

Mit Wget können Sie die Proxy-Konfigurationen ausschließlich für den aktuellen Benutzer ändern. Das kann hilfreich sein, wenn Sie für den Proxy die Authentifizierungdaten eines jeden Benutzers benötigen.

Um den Proxy einzurichten, erstellen bzw. ändern Sie die Datei ~/.wgetrc. wgetrc ist eine benutzerspezifische Datei, die sich in Ihrem Hauptverzeichnis (~/) befindet. Sie speichert die Einstellungen, die nur für den aktuellen Benutzer gelten. Die Datei ~/.wgetrc ist insbesondere bei neuen Linux-Installationen oder neuen Benutzerkonten möglicherweise nicht standardmäßig vorhanden, da die Datei normalerweise erstellt wird, wenn ein Benutzer die Wget-Einstellungen speziell an sein Konto anpassen muss. Wenn die Datei nicht existiert, können Sie sie erstellen.

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

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

Auch hier gilt: Ersetzen Sie proxy.example.com:8080 durch Ihre spezifischen Angaben. Diese Methode wirkt sich nur auf Wget-Anfragen aus, die vom aktuellen Benutzer gesendet werden. Wenn Sie auf demselben Rechner zu einem anderen Benutzer wechseln, gelten diese Einstellungen nicht mehr.

4. Proxy für die aktuelle Instanz des Endgeräts mit der Flagge -e einrichten

 

Wenn Sie den Proxy nicht auf System- oder Wget-Ebene einrichten möchten, können Sie ihn auch direkt beim Ausführen des Wget-Befehls konfigurieren. Bei dieser Methode können Sie unterschiedliche Proxy-Einstellungen für einzelne Wget-Befehle verwenden, was Ihnen mehr Flexibilität bietet.

Um den Proxy für eine einzelne Wget-Anfrage einzurichten, 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, wie im vorherigen Abschnitt beschrieben, die Syntax http://username:password@proxy_address:proxy_port zur Angabe des Proxys verwenden.

Mit dieser Methode haben Sie die Möglichkeit, einen Proxy für eine einzelne Anfrage einzurichten, ohne dass sich das auf andere Anfragen, Sitzungen oder Benutzer auswirkt.

Wget verwenden  

Zum Glück ist die Verwendung von Wget einfach. Die allgemeine Syntax für Wget lautet wget [options] [url], wobei Sie zunächst optionale Argumente angeben (d.h [options]), wie zum Beispiel -e use_proxy=yes, das Sie bereits kennengelernt haben, gefolgt von der Angabe [url], die Sie abrufen möchten. Dabei kann es sich um eine Mediendatei handeln, z. B. ein Dokument oder sogar eine Website.

Da der erste Teil optional ist, können Sie eine Webressource mit der Angabe wget [url] abrufen. Wenn Sie beispielsweise wget http://example.com/file.pdf aufrufen, wird die Datei abgerufen und auf Ihren lokalen Rechner heruntergeladen.

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 Argument --output-document:

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

Mit Wget können Sie Ihre Downloads auch stapeln und diese mit einem einzigen Befehl von mehreren URLs herunterladen. Dazu müssen Sie eine Datei erstellen und die einzelnen URLs jeweils in eine eigene Zeile einfügen. Danach führen Sie den folgenden Befehl aus:

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

Bitte beachten Sie Folgendes: 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 zusammen mit einem Proxy funktionieren. Die Optionen 1, 2 und 3 funktionieren unverändert, da der Proxy bereits eingerichtet ist.

Fazit

In diesem Artikel haben Sie vier verschiedene Methoden kennengelernt, wie Sie Wget mit einem Proxy verwenden können und welche Vorteile dies mit sich bringt. Sie können die am besten geeignete Methode auswählen, um Proxys entweder für das gesamte System, alle Benutzer, einen bestimmten Benutzer oder eine einzelne Wget-Anfrage anzuwenden.

Die Verwendung von Wget mit einem Proxy bietet zwar zahlreiche Vorteile, aber die Wahl des richtigen Proxyservices ist für die Maximierung von Leistung und Zuverlässigkeit entscheidend. Bright Data ist eine Webdatenplattform, die Unternehmen dabei unterstützt, große Mengen strukturierter Daten aus dem Internet zu erfassen. Wenn Sie Bright Data’s Proxy-Lösungen verwenden, können Sie Ihre Erfahrung mit Wget verbessern und die Anzahl der fehlgeschlagenen Anfragen reduzieren, was einen besseren Informationsabruf aus dem Internet gewährleistet.  

Egal, ob Sie ein Start-up-Unternehmen oder ein Großkonzern sind, Bright Data unterstützt Sie beim Scrapen von Websites und beim Erfassen von Daten mit seinen Proxy-Lösungen und benutzerdefinierten Tools, wie z. B. Web Scraper IDE und Web Unlocker. Erkunden Sie Bright Data’s Datacenter Proxys, die Optionen des Proxyservers und die Preise, um die perfekte Lösung für Ihre Anforderungen an ein Proxy-Netzwerk zu finden.  

Not sure which product to choose? Contact sales and find the right web scraping solution for you.