curl-Befehle Beispiele für HTTP-Anfragen
curl ist ein Kommandozeilenwerkzeug, das Anfragen über HTTP und andere Protokolle sendet. Die Beispiele zeigen GET, ausführliche Ausgabe mit -v, JSON per POST, Basic-Auth, Multipart-Upload, DELETE, Downloads und --resolve. Die Befehle richten sich an example.com oder an Adressen aus Dokumentationsnetzen, die Zugangsdaten sind Platzhalter.
21 Varianten auf einer Seite, jede mit eigenem Kopier- oder Download-Knopf. Darunter: 21× Reservierter Bereich.
curl: einfache GET-AnfrageReservierter Bereich
curl https://example.com/
Gibt den Body aus.
curl: nur Header (HEAD)Reservierter Bereich
curl -I https://example.com/
-I sendet HEAD.
curl: ausführlich mit Header-AusgabeReservierter Bereich
curl -v https://example.com/
Zeigt Verbindung, Anfrage- und Antwort-Header.
curl: Weiterleitungen folgenReservierter Bereich
curl -L https://example.com/alt
-L folgt Location-Headern.
curl: JSON per POST sendenReservierter Bereich
curl -X POST https://example.com/api/rechnungen -H "Content-Type: application/json" -d '{"kunde":"K-000001","betrag":119.0}'Body mit Platzhalterdaten.
curl: Anfrage mit Bearer-Token (Platzhalter)Reservierter Bereich
curl -H "Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXX" https://example.com/api/me
Token ist Platzhalter.
curl: Basic-AuthReservierter Bereich
curl -u benutzer:passwort https://example.com/geschuetzt
Zugangsdaten sind erfunden.
curl: Formular-POSTReservierter Bereich
curl -d "name=Erika&ort=Berlin" https://example.com/formular
Content-Type application/x-www-form-urlencoded.
curl: Datei hochladen (multipart)Reservierter Bereich
curl -F "datei=@bericht.pdf" -F "titel=Bericht" https://example.com/upload
-F erzeugt multipart/form-data.
curl: PUT mit DateiReservierter Bereich
curl -X PUT -H "Content-Type: application/json" --data-binary @daten.json https://example.com/api/objekt/1
Body aus Datei.
curl: DELETEReservierter Bereich
curl -X DELETE https://example.com/api/objekt/1
Löschaufruf.
curl: Datei speichernReservierter Bereich
curl -o seite.html https://example.com/
-o benennt die Ausgabedatei.
curl: Datei unter ihrem Namen speichernReservierter Bereich
curl -O https://example.com/dateien/bericht.pdf
-O übernimmt den Dateinamen der URL.
curl: Zeitmessung ausgebenReservierter Bereich
curl -s -o /dev/null -w "DNS %{time_namelookup}s, Verbindung %{time_connect}s, TLS %{time_appconnect}s, erstes Byte %{time_starttransfer}s, gesamt %{time_total}s\n" https://example.com/Mit -w lassen sich Zeiten formatieren.
curl: Namen auf feste Adresse zwingenReservierter Bereich
curl --resolve example.com:443:192.0.2.10 https://example.com/
Umgeht DNS und testet einen bestimmten Server.
curl: ZeitlimitReservierter Bereich
curl --connect-timeout 5 --max-time 20 https://example.com/
Verbindungsaufbau 5 s, insgesamt 20 s.
curl: komprimierte Antwort anfordernReservierter Bereich
curl --compressed -I https://example.com/
Sendet Accept-Encoding.
curl: HTTP/2 erzwingenReservierter Bereich
curl --http2 -I https://example.com/
Aushandlung über ALPN.
curl: Query-Parameter sauber kodierenReservierter Bereich
curl -G --data-urlencode "q=größe schuhe" https://example.com/suche
-G macht aus --data eine Query.
curl: eigenen User-Agent setzenReservierter Bereich
curl -A "ExampleBot/1.0 (+https://example.com/bot)" https://example.com/
Fiktiver Bot-Name.