Der cURL-Befehl in Linux ist ein leistungsstarkes Tool zum Übertragen von Daten zu oder von einem Server mithilfe verschiedener Protokolle, darunter HTTP, HTTPS, FTP und mehr. Er wird häufig zum Automatisieren von Webanforderungen, Testen von APIs und Herunterladen von Dateien aus dem Internet verwendet. cURL ist vielseitig und kann eine breite Palette von Aufgaben bewältigen, vom einfachen Herunterladen von Dateien bis hin zum Einreichen komplexer Formulare mit mehreren Teilen.
In diesem Handbuch werden wir 30 praktische Beispiele für die Verwendung des cURL-Befehls unter Linux untersuchen. Diese Beispiele decken gängige Anwendungsfälle ab, wie das Herunterladen von Dateien, das Senden von Daten an APIs, die Handhabung der Authentifizierung und mehr, und demonstrieren die Flexibilität und Leistungsfähigkeit von cURL für verschiedene Aufgaben.
Die Syntax des cURL-Befehls
Bevor wir mit der Demonstration von 30 Beispielen mit dem cURL-Befehl fortfahren, ist es eine gute Idee, zunächst seine Syntax zu verstehen:
curl [options] [URL]
In dieser Syntax:
- Optionen: Dies sind die Parameter, die das Verhalten von cURL ändern.
- URL: Dies ist die Adresse der Datei oder Ressource, mit der Sie interagieren möchten.
cURL-Befehlsoptionen
cURL bietet viele Optionen, mit denen Sie sein Verhalten anpassen können. Hier sind einige der am häufigsten verwendeten Optionen:
- -O: Lädt die Datei von der angegebenen URL herunter.
- -I: Holt den HTTP-Header vom Server.
- -u: Gibt die Benutzeranmeldeinformationen für die Serverauthentifizierung an.
- -d: Sendet die angegebenen Daten in einer POST-Anfrage an den Server.
- -x: Gibt die für die Anfragen zu verwendende Proxy-Adresse an.
30 Beispiele für den cURL-Befehl in Linux
Sehen wir uns nun einige praktische Beispiele für die Verwendung des cURL-Befehls an. Jedem Beispiel ist eine Erklärung vorangestellt, gefolgt von einer Demonstration der Ausgabe.
Beispiel 1: Daten von einer URL abrufen
Die einfachste Verwendung von cURL besteht darin, den Inhalt einer Webseite abzurufen. So können Sie das tun:
curl https://www.example.com
Dieser Befehl ruft den HTML-Inhalt der Webseite unter www.example.com ab.
Beispiel 2: Herunterladen einer Datei
Mit cURL können Sie auch Dateien aus dem Internet herunterladen. Hier ein Beispiel:
curl -O https://www.example.com/file.txt
Dieser Befehl lädt die Datei file.txt von www.example.com herunter und speichert sie im aktuellen Verzeichnis.
Beispiel 3: Senden einer POST-Anfrage
Sie können cURL verwenden, um POST-Anfragen an einen Server zu senden. So geht's:
curl -d "param1=value1¶m2=value2" -X POST http://www.example.com
Dieser Befehl sendet eine HTTP-POST-Anfrage an www.example.com mit den Daten param1=value1¶m2=value2.
Beispiel 4: Abrufen von HTTP-Headern
Wenn Sie die HTTP-Header von einem Server abrufen möchten, können Sie die Option -I verwenden. Hier ist ein Beispiel:
curl -I https://www.example.com
Dieser Befehl ruft die HTTP-Header von www.example.com ab.
Beispiel 5: Verwenden eines Proxys
Wenn Sie einen Proxy verwenden müssen, geben Sie ihn mit der Option -x an. So geht's:
curl -x http://proxy.example.com:8080 https://www.example.com
Dieser Befehl sendet die Anfrage über den Proxy unter proxy.example.com:8080 an www.example.com.
Beispiel 6: Senden von Cookies
Mit der Option -b können Sie Cookies zusammen mit Ihrer Anfrage senden. Hier ist ein Beispiel:
curl -b "name=value" https://www.example.com
Dieser Befehl sendet ein Cookie mit Name=Wert an www.example.com.
Beispiel 7: Senden eines User-Agents
Websites verwenden häufig den Benutzeragenten, um Inhalte bereitzustellen, die für den Browser des Clients geeignet sind. Um einen Benutzeragenten mit Ihrer Anfrage zu senden, verwenden Sie die Option -A:
curl -A "Mozilla/5.0" https://www.example.com
Dieser Befehl sendet eine Anfrage an www.example.com mit dem auf Mozilla/5.0 eingestellten Benutzeragenten.
Beispiel 8: Weiterleitungen folgen
Einige URLs leiten zu anderen URLs weiter. Um diesen Weiterleitungen zu folgen, verwenden Sie die Option -L:
curl -L https://www.example.com
Dieser Befehl folgt allen Weiterleitungen von www.example.com.
Beispiel 9: Ausgabe in einer Datei speichern
Um die Ausgabe eines cURL-Befehls in einer Datei zu speichern, verwenden Sie die Option -o:
curl -o output.html https://www.example.com
Dieser Befehl speichert die Ausgabe von www.example.com in output.html.
Beispiel 10: Hochladen von Dateien mit FTP
cURL kann Dateien per FTP auf einen Server hochladen. So geht's:
curl -T file.txt ftp://ftp.example.com --user username:password
Dieser Befehl lädt die Datei file.txt unter Verwendung des angegebenen Benutzernamens und Passworts auf ftp.example.com hoch.
Beispiel 11: Fortsetzen eines Downloads
Wenn ein Download unterbrochen wird, können Sie ihn mit der Option -C fortsetzen:
curl -C - -O https://www.example.com/file.txt
Dieser Befehl setzt den Download der Datei file.txt von www.example.com fort.
Beispiel 12: Herunterladen mehrerer Dateien
Um mehrere Dateien herunterzuladen, geben Sie mehrere URLs an:
curl -O https://www.example.com/file1.txt -O https://www.example.com/file2.txt
Dieser Befehl lädt file1.txt und file2.txt von www.example.com herunter.
Beispiel 13: Senden einer DELETE-Anforderung
Um eine DELETE-Anforderung zu senden, verwenden Sie die Option -X DELETE:
curl -X DELETE https://www.example.com/resource
Dieser Befehl sendet eine DELETE-Anfrage an die URL www.example.com/resource.
Beispiel 14: Ausführliche Ausgabe
Für ausführliche Informationen zu Anfrage und Antwort verwenden Sie die Option -v:
curl -v https://www.example.com
Dieser Befehl liefert eine ausführliche Ausgabe für die Anfrage an www.example.com.
Beispiel 15: Lautloser Modus
Um die Fortschrittsanzeige und Fehlermeldungen zu unterdrücken, verwenden Sie die Option -s:
curl -s https://www.example.com
Dieser Befehl ruft den Inhalt von www.example.com im stillen Modus ab.
Beispiel 16: Anzeige des Downloadfortschritts
Um den Download-Fortschritt in einem besser lesbaren Format anzuzeigen, verwenden Sie die Option #:
curl -# -O https://www.example.com/file.txt
Dieser Befehl lädt die Datei file.txt von www.example.com herunter und zeigt den Fortschritt als Fortschrittsbalken an.
Beispiel 17: Senden von JSON-Daten
Um JSON-Daten in einer POST-Anfrage zu senden, verwenden Sie die Option -H, um den Inhaltstyp festzulegen:
curl -d '{"key1":"value1", "key2":"value2"}' -H "Content-Type: application/json" -X POST https://www.example.com
Dieser Befehl sendet eine POST-Anfrage mit JSON-Daten an www.example.com.
Beispiel 18: Verwenden von cURL mit einer API
cURL wird häufig zur Interaktion mit APIs verwendet. Hier ist ein Beispiel:
curl -H "Authorization: Bearer YOUR_TOKEN" https://api.example.com
Dieser Befehl sendet eine Anfrage mit einem Autorisierungsheader an https://api.example.com.
Beispiel 19: Herunterladen von Dateien im Hintergrund
Um eine Datei im Hintergrund herunterzuladen, verwenden Sie die Option -O mit einem Et-Zeichen am Ende:
curl -O https://www.example.com/file.txt &
Dieser Befehl lädt die Datei file.txt im Hintergrund von www.example.com herunter.
Beispiel 20: Senden von Daten aus einer Datei
Um Daten aus einer Datei in einer POST-Anfrage zu senden, verwenden Sie das @-Symbol:
curl -d @data.txt -X POST https://www.example.com
Dieser Befehl sendet eine POST-Anfrage mit den Daten aus data.txt an www.example.com.
Beispiel 21: Inhalte vom FTP-Server abrufen
Mit cURL können Sie Inhalte von einem FTP-Server abrufen. So geht's:
curl ftp://ftp.example.com/file.txt --user username:password
Dieser Befehl ruft die Datei file.txt unter Verwendung des angegebenen Benutzernamens und Passworts von ftp.example.com ab.
Beispiel 22: Abrufen von Inhalten von einer passwortgeschützten Website
Um Inhalte von einer passwortgeschützten Website abzurufen, verwenden Sie die Option -u:
curl -u username:password https://www.example.com
Dieser Befehl ruft den Inhalt von www.example.com unter Verwendung des angegebenen Benutzernamens und Passworts ab.
Beispiel 23: Abrufen von Inhalten von einer Website mit SSL
Um Inhalte von einer Website mit SSL abzurufen, verwenden Sie die Option -k:
curl -k https://www.example.com
Dieser Befehl ruft den Inhalt von www.example.com ab und ignoriert dabei alle SSL-Zertifikatswarnungen.
Beispiel 24: Senden einer PUT-Anfrage
Um eine PUT-Anfrage zu senden, verwenden Sie die Option -X PUT:
curl -X PUT -d "data" https://www.example.com/resource
Dieser Befehl sendet eine PUT-Anfrage mit den Daten „data“ an www.example.com/resource.
Beispiel 25: Abrufen der Antwortheader
Um nur die Antwortheader abzurufen, verwenden Sie die Option -I:
curl -I https://www.example.com
Dieser Befehl ruft nur die Antwortheader von www.example.com ab.
Beispiel 26: Abrufen von Inhalten von einer Website mit Cookies
Um Inhalte von einer Website mit Cookies abzurufen, verwenden Sie die Option -b:
curl -b cookies.txt https://www.example.com
Dieser Befehl ruft den Inhalt von www.example.com unter Verwendung der in cookies.txt gespeicherten Cookies ab.
Beispiel 27: Abrufen von Inhalten von einer Website mit benutzerdefinierten Headern
Um Inhalte von einer Website mit benutzerdefinierten Headern abzurufen, verwenden Sie die Option -H:
curl -H "Custom-Header: Value" https://www.example.com
Beispiel 28: Abrufen von Inhalten von einer Website mit einem Timeout
Um Inhalte von einer Website mit einem Timeout abzurufen, verwenden Sie die Option -m:
curl -m 10 https://www.example.com
Dieser Befehl ruft den Inhalt von www.example.com mit einem Timeout von 10 Sekunden ab.
Beispiel 29: Abrufen von Inhalten von einer Website im ausführlichen Modus
Um Inhalte von einer Website im ausführlichen Modus abzurufen, verwenden Sie die Option -v:
curl -v https://www.example.com
Dieser Befehl ruft den Inhalt von www.example.com im ausführlichen Modus ab und zeigt detaillierte Informationen zu Anforderung und Antwort an.
Beispiel 30: Abrufen von Inhalten von einer Website und Anzeigen des Fortschrittsbalkens
Um Inhalte von einer Website abzurufen und den Fortschrittsbalken anzuzeigen, verwenden Sie die Option -#:
curl -# https://www.example.com
Dieser Befehl ruft den Inhalt von www.example.com ab und zeigt die Fortschrittsanzeige an.
Abschluss
Wenn Sie den cURL-Befehl anhand dieser praktischen Beispiele beherrschen, können Sie Ihre Fähigkeit, mit Webdiensten zu interagieren, Datenübertragungen zu automatisieren und Netzwerkprobleme zu beheben, erheblich verbessern. Regelmäßiges Üben mit verschiedenen cURL-Optionen und -Befehlen vertieft Ihr Verständnis und ermöglicht es Ihnen, das volle Potenzial in Ihren Linux-Workflows auszuschöpfen. Genießen Sie die Vielseitigkeit und Effizienz, die cURL Ihrem Befehlszeilen-Toolkit verleiht.