curl Beispiele: GET, POST, Header, Upload, Auth
curl ist ein Kommandozeilenwerkzeug, das HTTP-Anfragen sendet und Antworten anzeigt. Die Snippets zeigen typische Aufrufe: Methoden, JSON-Körper, Formulare, Datei-Upload, Weiterleitungen, Cookies, Zeitmessung, CORS-Preflight und TLS-Details; die Adressen zeigen auf example.com. Tokens und Passwörter sind Platzhalter.
21 Varianten auf einer Seite, jede mit eigenem Kopier- oder Download-Knopf. Darunter: 1× Fiktiv.
curl: einfacher GET-Aufruf
curl https://example.com/api/kunden
curl: GET mit Accept-Header und Antwort-Kopfzeilen
curl -i -H "Accept: application/json" https://example.com/api/kunden/1
curl: POST mit JSON-KörperFiktiv
curl -X POST https://example.com/api/kunden \ -H "Content-Type: application/json" \ -d '{"vorname": "Anna", "nachname": "Müller", "email": "anna.mueller@example.com"}'curl: POST mit JSON aus einer Datei
curl -X POST https://example.com/api/kunden \ -H "Content-Type: application/json" \ --data @kunde.json
curl: PUT zum Ersetzen einer Ressource
curl -X PUT https://example.com/api/kunden/1 \ -H "Content-Type: application/json" \ -d '{"vorname": "Anna", "nachname": "Beispiel"}'curl: PATCH zum Ändern einzelner Felder
curl -X PATCH https://example.com/api/kunden/1 \ -H "Content-Type: application/merge-patch+json" \ -d '{"ort": "Musterstadt"}'curl: DELETE
curl -X DELETE -i https://example.com/api/kunden/1
curl: Bearer-Token als Platzhalter
curl https://example.com/api/profil \ -H "Authorization: Bearer <DEIN_TOKEN>"
Platzhalter in spitzen Klammern ersetzen. Echte Tokens nie in Skripte oder Verlauf schreiben.
curl: Basic Auth mit Platzhaltern
curl -u "benutzer:passwort" https://example.com/api/intern
Platzhalter. Besser nur den Benutzernamen angeben (-u benutzer): curl fragt dann nach dem Passwort.
curl: Formularfelder senden (urlencoded)
curl -X POST https://example.com/anmelden \ --data-urlencode "email=anna.mueller@example.com" \ --data-urlencode "nachricht=Hallo & Grüße"
curl: Datei hochladen (multipart)
curl -X POST https://example.com/api/upload \ -F "datei=@bericht.pdf;type=application/pdf" \ -F "titel=Monatsbericht"
curl: nur Kopfzeilen abrufen (HEAD)
curl -I https://example.com
curl: Weiterleitungen folgen
curl -L -o seite.html https://example.com/alt
curl: nur den Statuscode ausgeben
curl -s -o /dev/null -w "%{http_code}\n" https://example.comcurl: Zeiten der Anfrage messen
curl -s -o /dev/null -w "DNS: %{time_namelookup}s\nVerbindung: %{time_connect}s\nTLS: %{time_appconnect}s\nErstes Byte: %{time_starttransfer}s\nGesamt: %{time_total}s\n" https://example.comcurl: Wiederholungen und Zeitlimit
curl --retry 3 --retry-delay 2 --connect-timeout 5 --max-time 20 https://example.com/api/status
curl: Namen auf eine Test-IP auflösen (--resolve)
curl --resolve example.com:443:192.0.2.10 https://example.com/
192.0.2.10 liegt im Dokumentationsbereich: so ist der Aufruf nur ein Muster und erreicht keinen echten Server.
curl: CORS-Preflight nachstellen
curl -i -X OPTIONS https://example.com/api/kunden \ -H "Origin: https://app.example.org" \ -H "Access-Control-Request-Method: POST" \ …
curl: ausführliche Ausgabe mit TLS-Details
curl -v https://example.com 2>&1 | head -40
HTTP: rohe Anfrage mit Körper
POST /api/kunden HTTP/1.1 Host: example.com Content-Type: application/json …
Content-Length zählt Bytes: das ü ist in UTF-8 zwei Bytes. Hier ergibt der Körper 52 Bytes.
Weitere Themen in Datenformate & Snippets
- JSON Beispiele: gültig und ungültig zum Testen
- XML Beispiele: Namespaces, CDATA und Fehlerfälle
- YAML Beispiele: Listen, Anker und typische Fallen
- Markdown Beispiele: Tabelle, Listen, Codeblock
- HTML Beispiele: Formulare, Tabellen und Meta-Tags
- GraphQL Beispiele: Schema, Query, Mutation, Antwort
- Code-Snippets: Kundenmodell in vielen Sprachen
- JSON Schema Beispiele (Draft 2020-12) mit Instanzen