Was ist cURL?

cURL ist eine Programmbiliothek (Library) und ein wichtiges Werkzeug für das Terminal, also die Kommandozeile in der sich nützliche Befehle direkt ausführen lassen. Die Abkürzung cURL steht für Client for URLs.

cURL – Dein ultimativer Netzwerk-Begleiter! 🔗

👋 Hast Du schon von cURL gehört? 🤔 Es ist eine unglaubliche Open-Source-Bibliothek und ein unverzichtbares Werkzeug für alle Kommandozeilen-Enthusiasten da draußen! 💻✨

📚 Die cURL-Bibliothek, die von dem talentierten Entwickler Daniel Stenberg seit ihrer ersten Veröffentlichung gepflegt wird, hat die Dateiübertragung in Netzwerken revolutioniert. 🌐📂

🚀 Warum solltest Du cURL verwenden, fragst Du Dich ? 🤷‍♂️ Nun, in erster Linie ermöglicht es Dir nahtlose Dateiübertragungen über Protokolle wie HTTP, HTTPS, FTP, Gopher, SFTP, FTPS und SCP. 📥📤 Es ist ein leistungsstarkes Terminalprogramm, mit dem Du mühelos Dateien direkt aus Shell- oder Batch-Skripten übertragen kannst. 💪💾

🌐 Ob Du nun Dateidownloads automatisieren, APIs testen oder Systeme integrieren möchtest, cURL unterstützt Dich dabei! Seine Vielseitigkeit und Benutzerfreundlichkeit machT es zum ultimativen Werkzeug für Softwareentwickler*innen, Systemadministratoren und Netzwerk-Enthusiasten gleichermaßen. 🙌🔁

💡 Wenn Du also bereit bist, Dein Netzwerkheimspiel zu verbessern, probiere cURL am besten direkt aus! 💯🔗 Du wirst es garantiert nicht enttäuscht sein!

👉 Hast Du schon einmal cURL benutzt? Teile Deine Erfahrungen mit und lass uns wissen, wie dieses nützliche Tool Dir geholfen hat.😊

Wozu nutze ich cURL?

In erster Linie ist das cURL-Programm zur Übertragung von Dateien in Netzwerken konzipiert.

Mit diesem mächtigen Terminal-Programm kannst Du aus Shell- oder Batch-Skripten heraus Dateien über Protokolle wie http, https, ftp, gopher, sftp, ftps oder scp übertragen lassen.

Datei-Upload und Datei-Downloads mit cURL-Programmen

Mit dem äußerst nützlichen Admin- und DevOps-Tool ist sowohl das Herunterladen wie auch das Hochladen von Dateien über eine Internetadresse, möglich.

Wo kann ich den cURL-Befehl nutzen?

Den cURL-Befehl findest Du auf nahezu jedem Betriebssystem indem Du ein Terminal-Fenster öffnest und den Hilfe-Parameter eingibst:

curl --help
cURL--help - Hilfe für das Terminal-Tool cURL

cURL–help – Hilfe für das Terminal-Tool cURL

Die zugehörige Programmbibliothek libcurl wird von zahlreichen Programmen und Programmiersprachen verwendet und gilt als eine der häufigsten verwendeten Software-Bibliotheken überhaupt.

Den Quellcode finden Programmierer*innen bei GitHub.

cURL everywhere – Von IoT-Devices über Smart-Phones und Fernseher bis zum Auto

Du kannst curl sowohl über die Befehlszeile oder in Skripten zur Datenübertragung nutzen.

Mittlerweile wird die curl-Programmbiliothek auch in IoT-Devices, Smart-TVs, Routern, Druckern, Audiogeräten, Mobiltelefonen, Tablets, Settop-Boxen oder Mediaplayern eingesetzt und ist damit das am meisten genutzte Tool für Internet-Transfers. Die cURL-Library ist  Open Source und wird seit dem ersten Release von dem Entwickler Daniel Stenberg maintained.

cURL zur Entwicklung von Websites nutzen

cURL leistet gute Dienste bei der Entwicklung von Websites und mit dem cURL-Befehl lassen sich Websites fernsteuern und testen.

Websites auslesen

curl https://rock-the-prototype.com/index.html

Mit diesem Kommando wird die Datei index.html ausgelesen und auf deinem Terminal ausgegeben.

Webseite in Datei speichern

Möchtest Du eine einzelne Webseite statt dessen in einer Datei speichern und diese unter dem Namen gespeicherte_webseite.html abspeichern, benutzt Du dazu den folgenden Befehl:

curl -o gespeicherte_webseite.html https://rock-the-prototype.com
cURL-Website-Download - Eine Webseite in einer Datei speichern

cURL-Website-Download – Eine Webseite in einer Datei speichern

Die gespeicherte Webseite landet so auf deinem lokalen PC.

curl-Authentifizierung

Soll eine Anmeldung auf einer Website per Script automatisch erfolgen, so lässt sich auch die Website-Anmeldung realisieren indem Du in dem cURL-Befehlt direkt auch den Benutzernamen und das Passwort übergibst.

Warning

Warning

So etwas solltest Du aber natürlich nur geschützt per HTTPS und mit äußerstem Bedacht tun, denn Passwörter in Skripten zu speichern ist grundsätzlich gefährlich.

curl -u username:password https://www.website.com/login

Weiterleitungen definieren

Wenn sich eine URL ändert ist es für Webmaster üblich die Webseiten auf die neue Adresse umzuleiten. Da in der Standardkonfiguration cURL Weiterleitungen nicht folgt, musst Du für diesen speziellen Fall den Parameter -L nutzen.

curl -L https://www.website.com/login

Downloads per Skript automatisieren

Auch Downloads von Webseiten kannst Du per Skript mit automatisieren, sofern Dateien von einer Webseite immer nach demselben Schema bereitgestellt werden, wie in diesem Beispiel:

https://www.website.com/pages.php?id=1
https://www.website.com/pages.php?id=2
https://www.website.com/pages.php?id=…
https://www.website.com/pages.php?id=99

Nutze einen regulären Ausdruck als cURL-Parameter

In diesem Fall kannst Du an cURL den Parameter id als regulären Ausdruck übergeben, um alle ids und damit Dateien in einem definierten Bereich zu erfassen.

curl -o pages#1.html https://www.website.com/pages.php?id=[1-99]

Damit weisen wir cURL an alle Dateien mit den ids 1-99 aufzurufen und in den Dateien page01.html bis page99.html in das Verzeichnis aus dem cURL aufgerufen wurde zu schreiben.

Fehlerkorrektur inklusive

Doch was passiert, wenn etwa eine Datei wie https://www.website.com/pages.php?id=42 nicht existieren sollte?

Ein cleveres Programmverhalten sorgt dafür, dass selbst wenn eine aufgerufene URL den Fehler 404 – Dokument nicht gefunden – als Antwort meldet, setzt cURL die Arbeit mit der nächsten id fort und überspringt dabei das Anlegen der betroffenen Datei – also hier im Beispiel page42.html.

HTTP-Header mit cURL-Command auslesen

Alle in einem HTTP-Header enthaltenen Informationen kannst Du per Command auslesen:

curl --head https://rock-the-prototype.com/

Der Parameter –head  ermöglicht die Ausgabe des HTTP-Header innerhalb des Terminalfensters.

Möchtest Du statt dessen den Header in die Datei header.txt schreiben, kannst Du das per Umleitungsoperatoren über die Shell oder allein über den Parameter –dump-header realisieren.

Wer kann das cURL-Tool wie effektiv nutzen?

Das Einsatz-Spektrum des kleinen Programms ist weit gefasst, dass es kaum jemanden gibt, der nicht auf dieses Helferlein zurück greift. Am häufigsten nutzen allerdings

  • Administrator*innen
  • Softwareentwickler*innen
  • DevOps-Engineers

das Programmwerkzeug bei der Konfiguration, Administration und dem Deployment von Software. Auch bei der Containerisierung ist das Helferlein unverzichtbar.