Harting Development

Linux: Dateien von URLs herunterladen

Lukas Fuchs vor 8 Monaten in  Open Source 3 Minuten Lesedauer

Befehl wget: Einführung und Syntax

wget ist ein Befehlszeilentool, mit dem du Dateien über das HTTP-, HTTPS- und FTP-Protokoll von entfernten Servern herunterladen kannst. Es ist ein vielseitiges und weit verbreitetes Programm, das sowohl auf Linux- als auch auf Windows-Systemen verfügbar ist.

Grundlegende Syntax

Die Grundsyntax von wget lautet wie folgt:

wget [Optionen] <URL>

wobei:

  • [Optionen] optionale Parameter sind, mit denen du das Download-Verhalten anpassen kannst
  • <URL> die Webadresse der Datei ist, die du herunterladen möchtest

Optionale Parameter

Du kannst verschiedene Optionen verwenden, um das Download-Verhalten von wget anzupassen, darunter:

  • -O <Dateiname>: Legt den Dateinamen der heruntergeladenen Datei fest
  • -c: Setzt einen unterbrochenen Download fort
  • -t <Anzahl>: Legt die maximale Anzahl an Wiederholungsversuchen bei Verbindungsfehlern fest
  • --progress=bar: Zeigt eine Fortschrittsanzeige während des Downloads an

Verwendung

Um eine Datei mit wget herunterzuladen, öffne einfach ein Terminalfenster und gib den folgenden Befehl ein:

wget https://example.com/file.txt

Dadurch wird die Datei file.txt von der URL https://example.com heruntergeladen und im aktuellen Verzeichnis gespeichert. Du kannst auch eine der oben aufgeführten Optionen verwenden, um das Download-Verhalten anzupassen.

Verwendung von Optionen in wget: Fortschrittsanzeige, Dateinamen festlegen

Beim Herunterladen von Dateien mit wget kannst du eine Vielzahl von Optionen verwenden, um den Prozess auf deine Bedürfnisse anzupassen.

Fortschrittsanzeige aktivieren

Um eine Fortschrittsanzeige anzuzeigen, die Informationen zum Download-Status wie den Fortschritt in Prozent und die verbleibende Zeit anzeigt, verwende die Option --progress=bar.

wget --progress=bar https://example.com/file.tar.gz

Dateinamen festlegen

Standardmäßig speichert wget die heruntergeladene Datei unter ihrem ursprünglichen Namen. Du kannst jedoch einen benutzerdefinierten Dateinamen mit der Option --output-document festlegen.

wget --output-document=my_file.tar.gz https://example.com/file.tar.gz

Weitere nützliche Optionen

Neben Fortschrittsanzeige und Dateinamenfestlegung bietet wget weitere nützliche Optionen:

  • -c: Setzt abgebrochene Downloads fort, anstatt neu zu beginnen.
  • -nc: Überspringt den Download, wenn die Datei bereits existiert.
  • -q: Deaktiviert die Ausgabe von Statusmeldungen.
  • --tries: Gibt die Anzahl der Wiederholungsversuche für fehlgeschlagene Downloads an.

Durch die Verwendung dieser Optionen kannst du deinen wget-Befehl anpassen und deine Downloads effizienter gestalten.

Dateien mit curl herunterladen: Alternativer Befehl zu wget

Neben wget ist curl ein weiterer vielseitiger Befehl zum Herunterladen von Dateien von URLs. Er bietet eine ähnliche Funktionalität wie wget und eignet sich besonders für die Arbeit mit HTTP-, HTTPS- und FTP-Protokollen.

Syntax

Die grundlegende Syntax von curl ist:

curl [Optionen] URL

Optionen

Hier sind einige nützliche Optionen, die du bei der Verwendung von curl beachten solltest:

  • -O: Speichert die heruntergeladene Datei unter dem Dateinamen, der in der URL angegeben ist.
  • -o: Speichert die heruntergeladene Datei unter dem angegebenen Dateinamen.
  • -C: Fügt einen teilweisen Download fort, falls er unterbrochen wurde.
  • -L: Folgt Weiterleitungen, die von der URL angegeben werden.
  • -v: Aktiviert den ausführlichen Modus, der detaillierte Informationen über den Download anzeigt.

Beispiel

Um beispielsweise eine Datei mit dem Namen "example.txt" von einer bestimmten URL herunterzuladen, kannst du folgenden Befehl verwenden:

curl -o example.txt https://beispiel-url.com/example.txt

Unterschiede zu wget

Während wget und curl ähnliche Funktionen haben, gibt es einige bemerkenswerte Unterschiede:

  • Multithreading: curl unterstützt Multithreading, was bedeutet, dass es mehrere gleichzeitige Verbindungen herstellen kann, um Downloads zu beschleunigen.
  • HTTP-Anpassung: curl bietet erweiterte Optionen zur Anpassung von HTTP-Anforderungen, wie z. B. das Festlegen von Kopfzeilen und die Verwendung von HTTP-Methoden.
  • Konsolenfortschritt: curl zeigt standardmäßig keine Fortschrittsanzeige in der Konsole an, kann aber mit der Option --progress-bar aktiviert werden.

HTTP-Anforderungen mit cURL anpassen: Kopfzeilen, HTTP-Methoden

cURL ermöglicht dir, erweiterte HTTP-Anforderungen zu konfigurieren, indem du Kopfzeilen und HTTP-Methoden anpasst. Dies ist hilfreich für den Zugriff auf geschützte Websites oder das Simulieren verschiedener Browser.

Hinzufügen von Kopfzeilen

Du kannst benutzerdefinierte HTTP-Kopfzeilen hinzufügen, um zusätzliche Informationen in deine Anfrage einzubetten. Dies kann nützlich sein, um Cookies, User-Agents oder andere Metadaten zu senden. Verwende die Option -H:

curl -H "Cookie: sessionid=ABC123" -H "User-Agent: Mozilla/5.0" https://example.com

Anpassen von HTTP-Methoden

cURL unterstützt eine Vielzahl von HTTP-Methoden, die über die Standard-GET-Methode hinausgehen. Dies ist nützlich für das Senden von Daten in Formularen oder das Ausführen von CRUD-Operationen. Verwende die Option -X, um die Methode festzulegen:

# POST-Anfrage mit Daten senden
curl -X POST -d "name=John" -d "age=30" https://example.com/submit

# PUT-Anfrage zur Aktualisierung von Daten
curl -X PUT -d "name=Jane" -d "age=35" https://example.com/update/123

Zusätzliche Optionen

Neben dem Anpassen von Kopfzeilen und HTTP-Methoden bietet cURL noch weitere Optionen zur Feinabstimmung deiner HTTP-Anforderungen:

  • Authentifizierung: Authentifizierung mit Servern über HTTP Basic oder Digest Authentication mit den Optionen -u und -U.
  • Proxies: Verwende einen Proxy-Server, um deine Anfragen über einen Vermittler zu routen, mit der Option -x.
  • Protokolle: Wähle ein bestimmtes Protokoll, z. B. HTTP/2 oder HTTPS, mit der Option -proto.
  • Datenübertragung: Verwende die Option --compressed, um Daten in der Übertragung zu komprimieren, und --progress, um den Fortschritt der Übertragung anzuzeigen.

Dateien mit aria2c herunterladen: Multithreading, Geschwindigkeitsoptimierung

Wenn du besonders große Dateien oder mehrere Dateien gleichzeitig herunterladen musst, ist aria2c eine hervorragende Wahl. aria2c unterstützt Multithreading, wodurch die Download-Geschwindigkeit erheblich gesteigert werden kann.

Multithreading aktivieren

Um Multithreading zu aktivieren, verwende die Option -x. Die Anzahl der Threads kann mit der Option --max-concurrent-downloads festgelegt werden. Die Standardeinstellung ist 5 Threads, aber du kannst sie je nach Systemressourcen anpassen.

Download-Geschwindigkeit optimieren

Neben Multithreading bietet aria2c weitere Optionen zur Optimierung der Download-Geschwindigkeit:

  • Splitting von Dateien: Durch Aufteilen der Dateien in kleinere Blöcke und paralleles Herunterladen der Blöcke kannst du die Geschwindigkeit erhöhen. Verwende die Option --split.
  • Einstellung der Puffergröße: Die Puffergröße bestimmt die Menge an Daten, die aria2c zwischenspeichert, bevor sie auf die Festplatte geschrieben werden. Eine höhere Puffergröße kann die Geschwindigkeit verbessern, aber auch den Speicherbedarf erhöhen. Verwende die Option --buffer-size.
  • TCP- und HTTP-Optimierung: aria2c unterstützt verschiedene TCP- und HTTP-Optimierungen, wie z. B. keep-alive-Verbindungen und Chunked-Transfer-Codierung. Verwende die Optionen --min-tls-version, --disable-ipv6 und --http-user-agent.

Beispiel

Um eine Datei mit 5 Threads und einer Puffergröße von 1 MB herunterzuladen, verwende den folgenden Befehl:

aria2c -x 5 --buffer-size 1M https://example.com/file.zip

aria2c bietet erweiterte Funktionen und Konfigurationsmöglichkeiten, die dir helfen, deine Downloads zu beschleunigen und zu optimieren.

Fortsetzen unterbrochener Downloads

Solltest du einen Download aufgrund einer Internetverbindung oder anderen Gründen abbrechen müssen, kannst du ihn später fortsetzen. Dies ist besonders nützlich für große Dateien oder Downloads, die viel Zeit in Anspruch nehmen.

wget

Mit wget kannst du Downloads fortsetzen, indem du die -c-Option verwendest. Diese Option weist wget an, die bereits heruntergeladenen Daten zu überspringen und mit dem Herunterladen des restlichen Teils der Datei fortzufahren.

wget -c https://example.com/file.zip

curl

Auch curl unterstützt das Fortsetzen von Downloads. Hierfür verwendest du die -C --Option, die curl mitteilt, den Download an der Position fortzusetzen, an der er abgebrochen wurde.

curl -C - https://example.com/file.zip -o file.zip

aria2c

aria2c ist ein leistungsstarker Download-Manager, der erweiterte Funktionen wie das Fortsetzen von Downloads bietet. aria2c merkt sich automatisch den Fortschritt des Downloads und setzt ihn bei Bedarf fort.

aria2c https://example.com/file.zip

Allgemeine Tipps

  • Stelle sicher, dass die URL unverändert bleibt. Wenn du die URL des Downloads änderst, kann der Download nicht fortgesetzt werden.
  • Verwende einen Download-Manager. Dedicated Download-Manager wie aria2c bieten zusätzliche Funktionen für die Verwaltung von Downloads und das Fortsetzen von unterbrochenen Downloads.
  • Überprüfe die Dateigröße. Bevor du einen Download fortsetzt, überprüfe die Dateigröße, um sicherzustellen, dass sie mit der Größe der bereits heruntergeladenen Daten übereinstimmt.

Dateien in einen bestimmten Ordner herunterladen

Standardmäßig speichert wget heruntergeladene Dateien im aktuellen Verzeichnis. Dies kann jedoch unpraktisch sein, insbesondere wenn du mehrere Dateien aus verschiedenen Quellen herunterlädst. Um dieses Problem zu beheben, kannst du festlegen, dass wget die Dateien in einen bestimmten Ordner speichert.

Verwendung der Option -P

Die Option -P gibt den Ordner an, in dem die heruntergeladenen Dateien gespeichert werden sollen. Der Ordner wird erstellt, falls er nicht existiert.

wget -P /pfad/zum/ordner https://beispiel.com/datei.tar.gz

Kopieren mehrerer Dateien in einen Ordner

Wenn du mehrere Dateien herunterladen möchtest, kannst du die Platzhalterfunktion von wget verwenden. Die folgende Syntax lädt alle .pdf-Dateien von einer Website in den Ordner Dokumente herunter:

wget -P Dokumente https://beispiel.com/*.pdf

Herunterladen von Dateien in verschachtelte Ordner

Mit wget kannst du Dateien auch in verschachtelte Ordner herunterladen. Verwende dazu einfach / als Trennzeichen in der Pfadangabe.

wget -P Dokumente/Unterordner https://beispiel.com/datei.zip

In diesem Beispiel wird die Datei datei.zip in den Ordner Dokumente/Unterordner heruntergeladen.

Verwendung anderer Download-Manager

Auch wenn wget eine leistungsstarke Option zum Herunterladen von Dateien ist, gibt es auch andere Download-Manager, die diese Funktion bieten. Beispielsweise kannst du mit Download Accelerator Plus und Internet Download Manager Dateien in bestimmte Ordner herunterladen.

Herunterladen von sicheren URLs: HTTPS-Unterstützung

Da sich der Webverkehr zunehmend auf sichere HTTPS-Verbindungen verlagert, musst du wissen, wie du Dateien von HTTPS-URLs herunterlädst.

HTTPS-Zertifikate und wget

wget unterstützt das Herunterladen von Dateien von HTTPS-URLs. Es verifiziert das HTTPS-Zertifikat der Ziel-Website, um sicherzustellen, dass die Verbindung sicher ist.

Um ein selbstsigniertes Zertifikat zu akzeptieren, verwende die Option --no-check-certificate. Dies ist jedoch nicht empfehlenswert, es sei denn, du hast Grund zur Annahme, dass das Zertifikat vertrauenswürdig ist.

cURL und HTTPS

Auch cURL unterstützt HTTPS-Downloads. Es verwendet die OpenSSL-Bibliothek, um die Zertifikatsüberprüfung durchzuführen.

Du kannst die Zertifikatüberprüfung mit der Option --insecure deaktivieren. Wie bei wget wird dies jedoch nicht empfohlen, es sei denn, du hast Grund zur Annahme, dass die Verbindung sicher ist.

aria2c und HTTPS

aria2c unterstützt HTTPS-Downloads und verfügt über erweiterte Funktionen zur Verarbeitung von HTTPS-Zertifikaten. Du kannst beispielsweise die Optionen --ca-certificate und --crl-file verwenden, um benutzerdefinierte Zertifikatsautoritäten oder Widerrufslisten zu verwenden.

Tipps zum Herunterladen von HTTPS-Dateien

  • Verwende immer die Option --no-check-certificate oder --insecure mit Vorsicht.
  • Verwende für sichere Downloads nach Möglichkeit cURL oder aria2c.
  • Behalte die Sicherheitswarnungen des Browsers im Auge, wenn du Dateien von unbekannten Websites herunterlädst.

Folge uns

Neue Posts

Beliebte Posts