curl

24. November 2023

curl steht für „Client for URLs“ und ist ein Befehlszeilentool, das verwendet wird, um Daten über verschiedene Protokolle wie HTTP, FTP, SMTP usw. zu übertragen.

Nachfolgend eine Auflistung der wichtigsten Parameter. Gefühlt 500 weitere sind in der cURL-Dokumentation aufgelistet ;).

HTTP Methode

Die HTTP Methode wird mit dem Parameter -X oder –request angegeben. Je nach verwendetem Parameter wird hier GET oder POST automatisch verwendet, wenn nicht explizit angegeben.

curl -X POST -H "Content-Type: application/json" -d '{"Name": "Stefan"}'

Header

Header werden dem Parameter -H oder –header angegeben.

curl -X POST -H "Content-Type: application/json" -d '{"Name": "Stefan"}'

Body

Der Body wird mit dem Parameter -d oder –data angegeben.

curl -X POST -H "Content-Type: application/json" -d '{"Name": "Stefan"}'

Alternativ kann als Body auch eine Datei angegeben werden, indem das @-Zeichen als Präfix verwendet wird.

curl -X POST -H "Content-Type: application/json" -d @datei.txt

Basic Authentication

Benutzer und Passwort für Basic Authentication werden mit dem Parameter -u oder –user angegeben.

curl -u "benutzer:passwort"

Antwort in Datei speichern

Dies kann mit dem Parameter -o oder –output gemacht werden.

curl -o datei.html https://www.codigo.at

Alternativ kann der Dateiname verwendet werden, der im Content-Disposition Header übermittelt wird.

curl -OJ https://www.codigo.at

Redirects

Um Redirects zu berücksichtigen, muss der Parameter -L oder –location angegeben werden

curl -L https://www.codigo.at

Zertifikatsfehler ignorieren

Wenn Fehler in der Zertifikatskette ignoriert werden sollen, kann dies mit dem Parameter -k oder –insecure gemacht werden.

curl -k https://www.codigo.at

Cookies

Cookies können mit dem Parameter -b oder –cookie angegeben werden.

curl -b "sessionid=123123" https://www.codigo.at

Alternativ kann auch ein Dateiname angegeben werden.

Um empfangene Cookies in eine Datei zu speichern, kann der Parameter -c oder –cookie-jar verwendet werden.

curl -c mycookie.txt https://www.codigo.at

Silent-Modus

Wenn die Fortschrittsanzeige nicht angezeigt werden soll, muss der Parameter -s oder –silent angegeben werden. Hiermit werden allerdings auch etwaige Fehler nicht ausgegeben!

curl -s https://www.codigo.at

Datei hochladen

Hierfür gibt es den Parameter -T oder –upload-file.

curl -X POST -T datei.txt https://www.codigo.at

Form

Forms können mit dem Parameter -F oder –form übergeben werden. Dieser Parameter kann auch mehrmals verwendet werden.

curl -X POST -F name=John -F shoesize=11 https://codigo.at

Es können auch Dateien angegeben werden. Diese benötigen als Präfix das @-Zeichen.

curl -F [email protected] https://example.com/upload.cgi

Detaillierte Ausgabe

Für eine detaillierte Ausgabe muss der Parameter -v oder –verbose angegeben werden.

curl -v https://www.codigo.at