curl-Befehlsgenerator
Gib HTTP-Methode, URL, Header, Body und Authentifizierungsmethode im Formular an, um einen sofort ausführbaren curl-Befehl zu erzeugen, den du kopieren kannst. Da nie tatsächlich eine Anfrage gesendet wird, gelten keine CORS-Beschränkungen.
Häufig verwendete curl-Optionen
| Option | Beschreibung |
|---|---|
| -X, --request <method> | Gibt die HTTP-Methode an (GET, POST, PUT, PATCH, DELETE usw.). Wird sie weggelassen, gilt GET ohne Body bzw. POST mit Body. |
| -H, --header <header> | Fügt einen Anfrage-Header hinzu. Für mehrere Header -H wiederholt angeben. |
| -d, --data <data> | Sendet einen Anfragetext. Wird -X nicht angegeben, erfolgt der Versand automatisch als POST mit Content-Type: application/x-www-form-urlencoded. |
| -u, --user <user:password> | Gibt Benutzername und Passwort für die Basic-Authentifizierung im Format "user:password" an. |
| -k, --insecure | Überspringt die SSL-Zertifikatsprüfung. Gedacht für Entwicklungsumgebungen mit selbstsignierten Zertifikaten. In der Produktion nicht empfohlen. |
| -L, --location | Folgt automatisch dem im Location-Header angegebenen Ziel, wenn der Server eine 3xx-Weiterleitung zurückgibt. |
| -v, --verbose | Zeigt den detaillierten Ablauf von Anfrage und Antwort einschließlich Header auf der Standardfehlerausgabe an. Hilfreich zum Debuggen. |
| --compressed | Fügt einen Accept-Encoding-Header hinzu und fordert damit komprimierte Antworten (z. B. gzip) an, die automatisch dekomprimiert werden. |
| -o, --output <file> | Speichert den Antworttext in der angegebenen Datei statt in der Standardausgabe. |
| -F, --form <name=content> | Sendet Formulardaten oder Dateien im Format multipart/form-data. Für Datei-Uploads "@Dateipfad" angeben. |
Tipps
- Der generierte Befehl kann direkt in ein Terminal, ein Shell-Skript oder eine CI/CD-Konfigurationsdatei eingefügt und so ausgeführt werden. Alle Werte sind bereits mit einfachen Anführungszeichen escaped.
- Es erscheint eine Warnung, wenn du einen Body eingibst, während die Methode noch GET ist. Der Grund: curl sendet die Anfrage automatisch als POST, wenn
-dohne-Xverwendet wird — der Hinweis hilft, unbeabsichtigtes Verhalten zu vermeiden. - Wenn du "Content-Type: application/json automatisch hinzufügen" aktivierst, wird der bei JSON-APIs leicht vergessene Content-Type-Header automatisch ergänzt.
- Sowohl die Werte für die Basic-Authentifizierung als auch für das Bearer-Token werden ausschließlich im Browser verarbeitet und niemals an einen Server gesendet.
- Das generierte
-k(Zertifikatsprüfung überspringen) ist nur eine temporäre Notlösung für lokale Entwicklungsumgebungen mit selbstsignierten Zertifikaten. Vermeide die dauerhafte Nutzung gegen Produktions-APIs.
Häufig gestellte Fragen
-d (Body-Daten) ohne die Option -X erhält, sendet es die Anfrage automatisch als POST. Für den seltenen Fall, dass GET bei gleichzeitigem Body beibehalten werden soll, füge dem generierten Befehl manuell -X GET hinzu.
Übrigens – warum curl das Tool ist, das jeder benutzt, aber kaum jemand kennt
curl ist ein Kommandozeilen-Tool zur Datenübertragung über URLs, das 1996 vom schwedischen Ingenieur Daniel Stenberg entwickelt wurde. Es entstand aus einem kleinen Skript, das Wechselkurse für einen IRC-Chatbot abrief, und wuchs seitdem zu einem riesigen Projekt heran, das über 25 Protokolle unterstützt, darunter HTTP, FTP und SMTP.
curl gilt als eine der am weitesten verbreiteten Software der Welt. Es ist in praktisch jedem internetfähigen Gerät eingebettet – Smartphones, Autos, Haushaltsgeräten, Spielekonsolen und sogar Raumsonden (es kam auch bei NASA-Marsmissionen zum Einsatz) – mit einer geschätzten installierten Basis von mehreren zehn Milliarden Geräten. Trotz dieser enormen Verbreitung bleibt es ein klassisches Beispiel für unauffällige Infrastruktur, die außerhalb von Entwicklerkreisen kaum jemand kennt.
Stenberg wurde 2019 von der Linux Foundation für seine Beiträge zu grundlegenden Webtechnologien ausgezeichnet. Er ist bis heute der zentrale Maintainer, der die Entwicklung von curl vorantreibt, und ist dafür bekannt, seit über zwei Jahrzehnten sorgfältig auf Abwärtskompatibilität zu achten.
Selbst jetzt, wo grafische Tools wie Postman weit verbreitet sind, werden curl-Befehle weiterhin in READMEs, offizieller Dokumentation und bei der API-Überprüfung verwendet. Der Grund ist einfach: curl erfordert keine Installation und ist auf nahezu jedem Linux- und macOS-System bereits vorinstalliert, sodass sich mit einem einzigen Befehl sofort ein Ergebnis erzeugen und teilen lässt – eine Reproduzierbarkeit, die kaum zu übertreffen ist.