Ubuntu 12.04 „Precise Pangolin“
cURL
ist ein Programm, das es ermöglicht, ohne Benutzerinteraktion Dateien von oder zu einem Server zu übertragen. Neben HTTP unterstützt das Programm noch eine Vielzahl von weiteren Netzwerkprotokollen wie FTP, FTPS, HTTPS, GOPHER, TELNET, DICT, FILE und LDAP. Die Steuerung erfolgt über Kommandozeilenparameter, die beim Programmaufruf angegeben werden.
cURL nutzt für alle den Datentransfer betreffenden Funktionen die Bibliothek libcurl. Es wird häufig für die Arbeit mit ReST-ful Services verwendet, z.B. zur Entwicklung oder zum Debugging solcher Dienste.
Das Programm cURL ist normalerweise in der Standardinstallation enthalten, kann aber ansonsten über das gleichnamige Paket
curl
mit apturl
Paketliste zum Kopieren:
sudo apt-get install curl
sudo aptitude install curl
installiert werden [1].
Optionen von cURL | |
Log-Optionen | |
-v --verbose | Gibt umfangreiche Informationen zur Client-Server-Kommunikation aus. |
--trace DATEI --trace-ascii DATEI | Liefert noch detailliertere Informationen als --verbose und schreibt diese in die angegebene Datei. |
Upload-Optionen | |
-T DATEI URL --upload-file DATEI URL | Überträgt die Datei zum angegebenen Ziel. |
Download-Optionen, Arbeit mit HTTP | |
-X COMMAND URL --request COMMAND URL | Führt den angegebenen HTTP-Command auf die angegebene Url aus. |
Proxy-Optionen | |
-x PROTOCOL://HOST:PORT --proxy PROTOCOL://HOST:PORT | Verwendet den angegebenen Proxy. Das Protokoll und der Port sind optional. |
-U USER:PASSWORD --proxy-user USER:PASSWORD | Verwendet den angegebenen Proxy User. Das Passwort ist optional. |
Alle Optionen - auch zu anderen Netzwerkprotokollen - findet man in der manpage von cURL.
Weitere Beispiele findet man im cURL Handbuch .
Eine Datei in das aktuelle Verzeichnis laden:
curl --output image.png -X GET http://media.cdn.ubuntu-de.org/wiki/attachments/02/42/Herunterladen_64.png
Sofern die angegebene URL existiert, befindet sich nun die Datei image.png im aktuellen Verzeichnis.
curl --output ubuntu.iso ftp://ftp.halifax.rwth-aachen.de/ubuntu-releases/12.04.1/ubuntu-12.04.1-desktop-i386.iso
Wenn die Datei erfolgreich herunter geladen wurde, dann befindet sich das Ubuntu Image nun im aktuellen Verzeichnis in der Datei ubuntu.iso.
Beispiele finden sich im Artikel FritzBox/Skripte.
Für die folgenden Beispiele wird die API von CouchDB verwendet. Es wird davon ausgegangen, dass unter der URL http://127.0.0.1:5984
eine Instanz von CouchDB erreichbar ist.
Zunächst wird ein HTTP-GET auf die Ressource / ausgeführt, um die DB Version abzufragen:
curl -X GET http://127.0.0.1:5984/
Als Ergebnis erhält man die Daten {"couchdb":"Welcome","version":"1.2.0"}
(im JSON-Format). Offensichtlich läuft also eine CouchDB in der Version 1.2.0.
Nun wird per HTTP-GET auf die Ressource /_all_dbs
ermittelt, welche Datenbanken vorhanden sind:
curl -X GET http://127.0.0.1:5984/_all_dbs
Das zurückgelieferte Ergebnis zeigt, dass drei Datenbanken existieren, darunter eine mit dem Namen sample: [ "_replicator", "_users", "sample" ]
Zuletzt soll die Datenbank mit dem Namen "sample" gelöscht werden. Dazu wird auf die Ressource /sample
ein HTTP-DELETE ausgeführt:
curl -X DELETE http://127.0.0.1:5984/sample
Wie nicht anders zu erwarten war, teilt das Ergebnis mit, dass die zur Löschung notwendigen Rechte fehlen: {"error":"unauthorized","reason":"You are not a server admin."}
curlftpfs - Daten von einem FTP-Server lokal ins Dateisystem einbinden
Shell/Anwendungen Übersichtsseite