Skip to main content

cURL

Was ist eine cURL?

cURL steht für Client for URLs oder Curl URL Request Library. Es handelt sich dabei um ein Kommandozeilen-Programm sowie eine Programmbibliothek um Dateien in Rechnernetzwerken zu übertragen. cURL ist unter einer offenen MIT Lizenz verfügbar und wurde mittlerweile für eine Vielzahl von Betriebssysteme portiert. Hierzu gehören unter anderem Windows, macOS, Linux, Solaris und Ultrix. Die zu cURL gehörende Programmbibliothek libcurl wird von einer großen Zahl an Programmiersprachen und Programmen verwendet.

Geschichte von cURL

Die Entwicklung begann 1997 durch den Programmierer Daniel Stenberg. Ursprünglich sollten mit dem Programm Daten über Wechselkurse zur Verfügung gestellt und über Webseiten abgerufen werden können. Für die Programmierung nutzte er das vorhandene Open Source Tool httpget. Nachdem das Programm um weitere Protokolle erweitert wurde, erfolgte am 20. März 1998 die Veröffentlichung als cURL 4.

Funktionsumfang der Programmbibliothek

Wie der Name schon besagt, handelt es sich hier um ein Werkzeug um Dateien über eine Internetadresse hochzuladen und herunterzuladen. POST Übertragungen sind damit ebenfalls möglich. Bei der Datenübertragung wird eine Vielzahl von Protokollen unterstützt. Hierzu gehören unter HTTPS, HTTP, FTPS, FTP sowie LDAP und RTMP. Im Vergleich zum älteren wget bietet das Programm den Vorteil, dass auch Dateien hochgeladen werden können.

Beispiele für Kommandos

Mit dem Programm lassen sich auf einfache Weise der HTML-Code von Webseiten auslesen. Der Befehl curl http://example.com/index.html dient beispielsweise dem Auslesen der Datei index.html. Diese wird anschließend auf der Standardausgabe ausgegeben. Soll die Datei unter dem Namen “examplepage” abgespeichert werden, erfolgt dies mit dem Befehl curl -o examplepage.html http://www.example.com/. Eine weitere Möglichkeit ist es, den HTTP-Header einer Webseite auf die Standardausgabe zu schreiben. Soll der Header in die Datei “header.txt” geschrieben werden kann dies zum Beispiel mit Umleitungsoperatoren der Shell erreicht werden. Ohne Unterstützung der Shell funktioniert dies mit dem Kommando --dump-header headers.txt http://www.google.com/ möglich. Wie bereits erwähnt kann auch mit FTP Servern kommuniziert werden. Mit dem Kommando ftp://username:password@example.com wird das Programm angewiesen, den Index des Hauptverzeichnisses auszugeben. Dabei werden Benutzername und Kennwort direkt in der URL kodiert. Um das Unterverzeichnis “images” auf dem FTP Server zu listen reicht es aus, dieses an die URL anzuhängen. Der entsprechende Befehl lautet: ftp://username:password@example.com/images/. Ein Upload auf den Server ist ebenfalls kein Problem. Hierzu wird der Parameter -T gefolgt vom Namen der Datei bzw. dem kompletten Dateipfad angegeben. Mit dem Befehl -T uploadfile.txt -u username:password ftp://example.com/files/myfile.txt wird die Datei uploadfile.txt auf den FTP-Server in das Verzeichnis files unter den Dateinamen myfile.txt geschrieben.

Sie haben noch Fragen?

Kontaktieren Sie uns