cURL-Befehlsgenerator & Builder
curl-Befehle im Browser erstellen — Methode, Header, Auth und Body einstellen, fertig copierbaren Befehl sofort erhalten. Vorlagen für Bearer, POST JSON, Datei-Upload. Kostenlos, privat.
Was ist ein curl-Befehl?
curl ist ein Kommandozeilenwerkzeug zur Datenübertragung über HTTP und Dutzende anderer Protokolle. Ein curl-Befehl besteht aus dem Binärnamen, einer Reihe von Flags und einer URL — zum Beispiel `curl -X POST https://api.example.com/users -H 'Content-Type: application/json' -d '{"name":"Ada"}'`. Da curl auf praktisch jedem Linux-, macOS- und modernen Windows-System vorinstalliert ist, ist es der universelle Weg, eine API zu testen, eine Anfrage aus der Dokumentation zu reproduzieren oder einen Service innerhalb eines CI-Skripts auf Verfügbarkeit zu prüfen. Die Kürze, die es mächtig macht, macht es auch schwer zu merken — genau deshalb hilft ein visueller Builder.
Jeder curl-Befehl hat denselben Aufbau. Die Methode (`-X GET`, `-X POST`, …) legt das HTTP-Verb fest und ist standardmäßig GET. Die URL ist der Endpunkt, Query-Parameter werden nach einem `?` angehängt. Header (`-H 'Key: Value'`, wiederholbar) übertragen Metadaten wie `Accept` und `Content-Type`. Authentifizierung ist lediglich ein spezieller Header — `-H 'Authorization: Bearer …'` für ein Token, `-u user:pass` für Basic-Auth oder ein benutzerdefiniertes `-H 'X-API-Key: …'`. Der Body (`-d` für rohe oder Formulardaten, `-F` für Multipart und Datei-Uploads) trägt die Nutzlast. Schließlich steuern Optionen wie `-L` (Weiterleitungen folgen), `-i` (Response-Header einschließen) und `-v` (ausführlich) das Verhalten. Dieses Tool stellt jeden dieser Teile als Formularfeld dar und baut den Befehl live neu auf.
Nutze einen curl-Befehlsgenerator, wenn du sonst mit Quotierung kämpfen, den `Content-Type`-Header bei einem JSON-POST vergessen oder einen Multipart-Upload manuell zusammenstellen würdest. Der Builder erledigt shell-sicheres Single-Quote-Escaping, kodiert deinen Query-String und hängt die richtigen Header für jeden Body-Typ an — dann kopierst du einen vertrauenswürdigen Befehl. Für eine vollständige Flag-für-Flag-Referenz mit 40+ ausführbaren Beispielen, lies das begleitende curl-Cheatsheet; zum Kodieren kniffliger Query-String-Werte kannst du unseren URL-Kodierer verwenden.
Alles passiert in deinem Browser. Deine Token, Anmeldedaten, URLs und Request-Bodies werden mit clientseitigem JavaScript zusammengestellt und nie irgendwohin gesendet — so kannst du Befehle gegen echte Produktions-Endpunkte mit echten API-Schlüsseln erstellen, ohne dass dein Gerät verlassen wird.
# Plain GET — curl defaults to GET
curl https://api.example.com/users
# GET with a Bearer token (auth is just a header)
curl https://api.example.com/me \
-H 'Authorization: Bearer YOUR_TOKEN'
# POST a JSON body — note the Content-Type header
curl -X POST https://api.example.com/users \
-H 'Content-Type: application/json' \
-d '{"name":"Ada","role":"admin"}'
# Multipart file upload — '@' reads the file from disk
curl -X POST https://api.example.com/upload \
-F 'file=@report.pdf' \
-F 'title=Q3 report' Hauptfunktionen
Visueller Anfrage-Builder
Die gesamte Anfrage als Formularfelder gestalten — Methode, URL, Query-Parameter, Header, Auth, Body und Optionen — statt sich Flag-Reihenfolge und Quotierung zu merken. Kein Raten mehr, ob die URL vor oder nach dem `-d` kommt.
Live-Befehl mit Kopieren & Export
Der curl-Befehl wird bei jedem Tastendruck am unteren Seitenende neu aufgebaut. Mit einem Klick in die Zwischenablage kopieren oder als .sh exportieren — ein ausführbares Shell-Skript, das direkt in ein Repo oder einen CI-Job eingefügt werden kann.
Vollständige Authentifizierungsunterstützung
Bearer-Token, Basic-Auth (`-u user:pass`) und benutzerdefinierte API-Key-Header, jeweils im genauen Format, das Server erwarten. Schema auswählen, Credential einfügen — der richtige `Authorization`- oder benutzerdefinierte Header wird generiert.
Jeder Body-Typ
Rohes JSON (mit automatisch hinzugefügtem passenden `Content-Type`-Header), `application/x-www-form-urlencoded`-Formularfelder und `multipart/form-data`-Uploads, bei denen jedes Feld mit dem `@`-Präfix auf eine Datei umgestellt werden kann.
Sechs Ein-Klick-Vorlagen
GET mit Bearer, POST JSON, Formular-Upload, Basic-Auth, Download `-o` und Verbose-Debug füllen das gesamte Formular mit einem Tippen aus. Starte von einer funktionierenden Anfrage für die häufigsten API-Aufgaben und passe sie an.
Mehrzeilige & einzeilige Ausgabe
Wechsle zwischen einem kompakten einzeiligen Befehl zum schnellen Einfügen und einer backslash-fortgesetzten mehrzeiligen Version, die sich in einem Skript oder Pull-Request besser lesen lässt. Derselbe Befehl, zwei Darstellungen.
100 % Browser-basierter Datenschutz
Token, URLs, Header und Request-Bodies werden vollständig clientseitig zusammengestellt und verlassen dein Gerät nie — prüfbar im Netzwerk-Tab. Sicher für Produktions-Endpunkte und Live-Credentials ohne Daten-Exposition.
Entwickelt für den DevTools-Workflow
Konzipiert für den täglichen Loop aus API-Tests und Reproduzieren von Anfragen aus Browser-DevTools „Als cURL kopieren”. Ein Konvertieren-Tab, der curl-Befehle in fetch, requests, Go, PHP, Ruby und Node.js parst, erscheint im nächsten Release.
curl-Alternativen & HTTP-Clients
HTTPie
CLI, menschenfreundliche SyntaxEin modernes CLI mit farbiger Ausgabe und kompakterer Syntax (`http POST api.example.com/users name=Ada`). Setzt JSON `Content-Type` standardmäßig. Benutzerfreundlicher für interaktive Nutzung; curl gewinnt bei Ubiquität und Skript-Portabilität.
wget
CLI, download-orientiertAm besten für rekursive Downloads und Site-Mirroring; folgt Weiterleitungen und wiederholt standardmäßig. Schwächer als curl für beliebige Methoden, benutzerdefinierte Header und API-Tests. Oft zusammen mit curl auf Linux vorinstalliert.
Postman
GUI-AnwendungEine vollständige GUI zum Aufbauen, Speichern und Teilen von Anfragen mit Collections, Environments und Team-Sync. Gut für explorative API-Arbeit; kann curl importieren/exportieren. Für schnelle Prüfungen oder CI schwerer als ein einzeiliger Befehl.
Insomnia
GUI-AnwendungEine schlankere Open-Source-Alternative zu Postman mit übersichtlichem Anfrage-Builder und curl-Import/Export. Gut für die Organisation von API-Anfragen; wie Postman mehr als nötig für einen einzelnen skriptgesteuerten Aufruf.
fetch() / requests
In-Code-HTTP-ClientsJavaScript `fetch()` und Python `requests` sind die Art, wie Aufrufe aus Anwendungscode heraus gemacht werden. Die Anfrage zuerst als curl aufbauen und verifizieren, dann übersetzen — der kommende Konvertieren-Tab generiert äquivalenten fetch-, requests- und anderen Client-Code.
curl-Befehle — Beispiele
Einfache GET-Anfrage
curl https://api.example.com/users
Ohne Method-Flag verwendet curl standardmäßig GET. Dies ist die einfachstmögliche Anfrage — eine Ressource abrufen und den Response-Body im Terminal ausgeben. Füge Query-Parameter im Builder hinzu und sie werden automatisch URL-kodiert angehängt (`?page=2&limit=50`).
GET mit Bearer-Token
curl https://api.example.com/me \ -H 'Authorization: Bearer YOUR_TOKEN'
Der häufigste authentifizierte Aufruf gegen eine REST-API. Die Bearer-Auth-Vorlage fügt den `Authorization: Bearer …`-Header für dich hinzu. Um den Inhalt eines JWT vor dem Senden zu prüfen, füge das Token in unseren JWT-Dekodierer ein.
POST mit JSON-Body
curl -X POST https://api.example.com/users \
-H 'Content-Type: application/json' \
-d '{"name":"Ada","role":"admin"}' Ein Standardfall für einen curl-POST-Anfrage-Generator: Der JSON-Body-Typ setzt `-X POST`, hängt den `Content-Type: application/json`-Header an und übergibt die Nutzlast mit `-d`. Unübersichtliche API-Antworten lassen sich danach mit unserem JSON-Formatierer aufbereiten.
POST-Formular (URL-kodiert)
curl -X POST https://api.example.com/login \ -H 'Content-Type: application/x-www-form-urlencoded' \ -d 'username=ada&password=s3cret'
Klassische HTML-Formularübertragung. Jedes `-d field=value`-Paar wird mit `&` verbunden und als `application/x-www-form-urlencoded` gesendet. curl kodiert reservierte Zeichen URL-sicher; die Felder werden im Formular-Body-Bereich aufgebaut und das Tool stellt den String zusammen.
Multipart-Datei-Upload
curl -X POST https://api.example.com/upload \ -F 'file=@report.pdf' \ -F 'title=Q3 report'
Der curl-Datei-Upload-Befehl verwendet `-F` für `multipart/form-data`. Stelle einem Wert `@` voran, um eine Datei vom Datenträger anzuhängen; Datei- und Textfelder können beliebig gemischt werden. curl setzt Multipart-Boundary und `Content-Type` automatisch — niemals manuell setzen.
In eine Datei herunterladen
curl -L -o archive.zip \ https://example.com/files/archive.zip
Speichere den Response-Body mit `-o` in eine benannte Datei; `-L` folgt Weiterleitungen zur eigentlichen Download-URL (häufig bei CDN- und Release-Asset-Links). Verwende `-O` statt `-o`, um den Dateinamen vom Server zu übernehmen.
Basic-Authentifizierung
curl -u ada:s3cret \ https://api.example.com/private
curl-Basic-Auth verwendet `-u user:pass`; curl Base64-kodiert die Anmeldedaten in einen `Authorization: Basic …`-Header. Basic-Auth sollte immer über HTTPS gesendet werden — Base64 ist Kodierung, keine Verschlüsselung, und ist trivial umkehrbar.
Verbose-Debug
curl -v -i https://api.example.com/health
Wenn eine Anfrage sich falsch verhält, gibt `-v` die vollständige Anfrage-Zeile, alle gesendeten und empfangenen Header sowie den TLS-Handshake aus; `-i` fügt die Response-Header in die Body-Ausgabe ein. Die erste Anlaufstelle, wenn eine API den falschen Statuscode zurückgibt.
So erstellst du einen curl-Befehl
- 1
HTTP-Methode wählen
Wähle GET, POST, PUT, PATCH, DELETE, HEAD oder OPTIONS. curl verwendet standardmäßig GET; die Auswahl von POST oder einem anderen Verb fügt `-X METHOD` zum generierten Befehl hinzu. Oder tippe einen Vorlagen-Chip, um Methode und passenden Body mit einem Klick zu setzen.
- 2
URL und Query-Parameter eingeben
Gib die Anfrage-URL ein (z. B. `https://api.example.com/users`). Füge Query-Parameter als Schlüssel/Wert-Paare hinzu — das Tool URL-kodiert sie und hängt `?key=value&…` automatisch an die URL an. Keine manuelle Kodierung nötig.
- 3
Header und Authentifizierung hinzufügen
Füge Request-Header als Schlüssel/Wert-Paare hinzu, dann wähle ein Auth-Schema: Keins, Bearer-Token, Basic (Benutzername/Passwort) oder ein benutzerdefinierter API-Key-Header. Der richtige `Authorization`- oder benutzerdefinierte Header wird im genauen Format generiert, das der Server erwartet.
- 4
Request-Body festlegen
Für POST/PUT/PATCH wähle einen Body-Typ: Rohes JSON einfügen (der `Content-Type`-Header wird automatisch hinzugefügt), URL-kodierte Formularfelder aufbauen oder einen Multipart-Upload zusammenstellen und ein Feld mit dem `@`-Präfix auf eine Datei umstellen.
- 5
Optionen aktivieren
Aktiviere die benötigten Flags — Weiterleitungen folgen (`-L`), unsicheres TLS (`-k`), ausführlich (`-v`), Header einschließen (`-i`), komprimiert (`--compressed`), Ausgabe in Datei (`-o`), Verbindungs-Timeout oder Proxy (`-x`). Jede Umschaltung aktualisiert den Befehl live.
- 6
Kopieren, exportieren oder zurücksetzen
Kopiere den fertigen Befehl, exportiere ihn als .sh-Skript oder setze das Formular zurück. Verwende den Mehrzeilig-Schalter, um vor dem Kopieren zwischen einzeiliger und backslash-fortgesetzter Ausgabe zu wechseln.
Häufige curl-Fehler
Fehlendes -X bei einer Methode mit Body
Das Senden eines Bodys mit `-d` impliziert POST; wenn jedoch PUT oder PATCH benötigt wird, muss das explizit mit `-X` angegeben werden. Vergisst man es, wird der Body als POST gesendet und der Server gibt den falschen Status zurück oder lehnt die Anfrage ab.
# PATCH beabsichtigt, aber -d allein impliziert POST
curl -d '{"role":"admin"}' \
https://api.example.com/users/7 # Verb explizit setzen
curl -X PATCH -d '{"role":"admin"}' \
-H 'Content-Type: application/json' \
https://api.example.com/users/7 Fehlender Content-Type bei einem JSON-POST
JSON mit `-d` zu senden setzt NICHT den `Content-Type`-Header — curl verwendet standardmäßig `application/x-www-form-urlencoded`. Die meisten APIs können den Body dann nicht parsen und geben 400 oder 415 zurück. Den JSON-Content-Type immer anhängen (oder die JSON-Body-Vorlage verwenden, die ihn automatisch hinzufügt).
# Server sieht urlencoded, nicht JSON — 400/415
curl -X POST https://api.example.com/users \
-d '{"name":"Ada"}' # JSON-Content-Type deklarieren
curl -X POST https://api.example.com/users \
-H 'Content-Type: application/json' \
-d '{"name":"Ada"}' Einfache vs doppelte Anführungszeichen beim Escaping
Innerhalb doppelter Anführungszeichen expandiert die Shell `$`, Backticks und `!`, was JSON verfälscht oder bei einem `$variable` in der Nutzlast bricht. Einfache Anführungszeichen geben den Body wörtlich weiter. Einfache Anführungszeichen für JSON-Bodies verwenden; auf doppelte nur in `cmd.exe` wechseln, das keine einfachen Anführungszeichen unterstützt.
# $name wird von der Shell zu leerem String expandiert
curl -d "{\"user\":\"$name\"}" \
https://api.example.com/users # Einfache Anführungszeichen senden den Body wörtlich
curl -d '{"user":"$name"}' \
https://api.example.com/users -d bei einer GET-Anfrage verwenden
Das Hinzufügen von `-d` zu einer Anfrage macht sie stillschweigend zu einem POST. Für ein GET mit Query-Parametern diese in die URL einfügen (oder `-G` verwenden, um die `-d`-Daten an den Query-String anzuhängen). `-d` bei einem GET ist einer der häufigsten Gründe für „mein GET funktioniert nicht”.
# -d macht dies zu einem POST, nicht zu einem GET curl -d 'page=2&limit=50' \ https://api.example.com/users
# Query-String in der URL hält es als GET curl 'https://api.example.com/users?page=2&limit=50'
Windows-Zeilenfortsetzung: ^ vs \
Der Backslash (`\`) setzt einen Befehl in bash, Git Bash und WSL auf die nächste Zeile fort. In `cmd.exe` ist das Fortsetzungszeichen das Caret (`^`), und PowerShell verwendet einen Backtick (`` ` ``). Ein backslash-fortgesetzter Befehl in `cmd` eingefügt — bricht ihn. Dieses Tool auf einzeilige Ausgabe für Windows `cmd` umstellen.
:: cmd.exe — Backslash ist kein Fortsetzungszeichen
curl -X POST https://api.example.com/users \
-d '{"name":"Ada"}' :: cmd.exe — eine Zeile oder ^ zur Fortsetzung verwenden
curl -X POST https://api.example.com/users -d "{\"name\":\"Ada\"}" Leerzeichen in der URL nicht kodiert
Ein rohes Leerzeichen (oder `&`, `#`, `?`) in einer URL oder einem Query-Wert bricht den Befehl — die Shell teilt das Argument und curl sieht eine abgeschnittene URL. Den Wert prozent-kodieren (Leerzeichen wird `%20`) oder curl mit `--data-urlencode` kodieren lassen. Die Query-Parameter-Felder in diesem Tool kodieren automatisch.
# Leerzeichen teilt das Argument — curl sieht zwei Args curl https://api.example.com/search?q=hello world
# Leerzeichen kodieren (oder die ganze URL in Anführungszeichen) curl 'https://api.example.com/search?q=hello%20world'
Häufige Anwendungsfälle
- REST-API-Tests
- Anfragen gegen einen REST-Endpunkt erstellen und abfeuern, ohne das Terminal zu verlassen: Methode setzen, Bearer-Token einfügen, JSON-Body senden und die Antwort lesen. Der schnellste Weg, das Verhalten einer API zu bestätigen, bevor Client-Code geschrieben wird.
- Anfrage aus Dokumentation reproduzieren
- API-Dokumentation zeigt Endpunkte und Parameter, aber selten einen vollständigen, kopierbaren Befehl. Methode, URL, Header und Auth hier eintragen und einen curl-Befehl erhalten, der direkt ausführbar ist — kein Kämpfen mit Quotierung oder fehlenden `Content-Type`-Headern.
- CI/CD-Smoke-Test-Skripte
- Einen curl-Befehl für einen Health-Check oder Post-Deploy-Smoke-Test generieren, dann als .sh exportieren und in eine Pipeline einfügen. `--connect-timeout` und `--max-time` hinzufügen, damit ein hängender Endpunkt den Build nicht blockiert, und Statuscodes mit `-w` prüfen.
- Datei-Upload & -Download
- Einen `multipart/form-data`-Upload mit `-F field=@file` zusammenstellen oder einen `-L -o dateiname`-Download aufbauen, der Weiterleitungen zu einem CDN folgt. Schwierige Dateinamen oder Query-Werte vorher mit unserem URL-Kodierer kodieren.
- Webhook-Debugging
- Eine Webhook-Nutzlast wiederholen, indem derselbe JSON-Body, den der Anbieter sendet, mit den richtigen Signatur- und `Content-Type`-Headern gepostet wird. Die genaue Anfrage lokal reproduzieren, um zu debuggen, warum der Handler sie abgelehnt hat.
- Reproduzierbare Bug-Reports
- Einen einzelnen, in sich geschlossenen curl-Befehl in einen Bug-Report oder PR einfügen, damit jeder die genaue Anfrage reproduzieren kann — Methode, Header, Auth-Platzhalter und Body. Weit klarer als die Anfrage in Fließtext zu beschreiben.
- curl-Flags erlernen
- Sehen, wie jede Formularauswahl einem echten Flag entspricht — Basic-Auth wählen und beobachten, wie `-u` erscheint; einen JSON-Body hinzufügen und beobachten, wie der `Content-Type`-Header angehängt wird. Eine praktische Möglichkeit, die Syntax zu erlernen, gepaart mit unserem curl-Cheatsheet.
- Anfrage für Code-Konvertierung vorbereiten
- Die Anfrage zuerst als curl aufbauen und verifizieren, dann in den HTTP-Client der App übersetzen. Der kommende Konvertieren-Tab wird einen eingefügten curl-Befehl in fetch, requests, Go, PHP, Ruby und Node.js umwandeln — starte von einem curl-Befehl, der funktioniert.
curl-Flags & Syntax-Referenz
- Shell-Quotierung & Escaping
- Das Tool schließt Werte in einfache Anführungszeichen ein — in POSIX-Shells die sicherste Form, da innerhalb eines single-quoted Strings nichts expandiert wird. Ein Literal-Single-Quote innerhalb eines Wertes wird als `'\''`-Sequenz ausgegeben (Anführungszeichen schließen, Backslash-Quote, Anführungszeichen erneut öffnen). In `cmd.exe` auf doppelte Anführungszeichen wechseln; Git Bash und WSL führen die generierten Single-Quote-Befehle unverändert aus.
- -d vs --data-raw vs --data-binary
- `-d`/`--data` entfernt Zeilenumbrüche und Wagenrückläufe aus dem Body — gut für `key=value`-Paare, verlustbehaftet für mehrzeilige Inhalte. `--data-raw` ist identisch, behandelt ein führendes `@` jedoch nicht als Dateinamen. `--data-binary` sendet Bytes exakt wie angegeben (verwende `@file`, um rohe Dateiinhalte hochzuladen). Alle drei implizieren POST, sofern die Methode nicht überschrieben wird.
- Multipart (-F) vs URL-kodiert (-d)
- `-F field=value` erzeugt `multipart/form-data` mit einer generierten Boundary — erforderlich für Datei-Uploads (`-F file=@pfad`) und gemischte Datei/Text-Formulare. `-d field=value` erzeugt `application/x-www-form-urlencoded`, einen einzelnen `&`-verbundenen String. Setze `Content-Type` für Multipart nie manuell; curl berechnet die Boundary und setzt den Header selbst.
- Auth-Header-Kodierung
- Bearer-Auth sendet `Authorization: Bearer
` wörtlich (RFC 6750). Basic-Auth aus `-u user:pass` wird Base64-kodiert in `Authorization: Basic ` übertragen — Kodierung, keine Verschlüsselung, also HTTPS verwenden. Ein API-Key ist welcher benutzerdefinierte Header auch immer der Dienst verlangt, z. B. `X-API-Key: `. - Query-String-Kodierung
- Im Builder hinzugefügte Query-Parameter werden prozent-kodiert und als `?key=value&key2=value2` angehängt. Reservierte Zeichen (Leerzeichen, `&`, `=`, `#`) werden maskiert, damit die URL gültig ist. Für Body-Felder, die kodiert werden müssen, übernimmt curls eigener `--data-urlencode` die Kodierung zur Anfrage-Zeit.
- Weiterleitungsverhalten (-L)
- Ohne `-L` gibt curl eine 301/302-Antwort aus und stoppt. Mit `-L` folgt es dem `Location`-Header bis zur endgültigen URL. Beachte: curl löscht den `Authorization`-Header, wenn eine Weiterleitung zu einem anderen Host führt (ein Sicherheitsstandard); verwende `--location-trusted` nur, wenn du die Implikationen verstehst.
- Komprimierte Antworten
- `--compressed` fügt einen `Accept-Encoding`-Header hinzu, der gzip/deflate/brotli-Unterstützung ankündigt, und dekomprimiert die Antwort transparent — spart Bandbreite. Der dekodierte Body ist identisch zu einer unkomprimierten Anfrage — reine Übertragungsoptimierung, bei den meisten API-Aufrufen sicher zu aktivieren.
- Ausgabe: -o vs -O
- `-o dateiname` schreibt den Response-Body in eine selbst benannte Datei; `-O` speichert ihn unter dem Remote-Dateinamen aus dem URL-Pfad. Beide unterdrücken die normale stdout-Ausgabe. Mit `-L` kombinieren, damit Weiterleitungen zur eigentlichen Ressource aufgelöst werden, bevor die Datei geschrieben wird.
Best Practices für curl-Anfragen
- Niemals Secrets in geteilten Befehlen hartcodieren
- Ein curl-Befehl, den du in einem PR, einem Ticket oder einem Chat einfügst, wird von anderen gelesen und von Tools indexiert. Ersetze Token und Passwörter durch Platzhalter (`YOUR_TOKEN`) oder referenziere eine Umgebungsvariable (`-H "Authorization: Bearer $API_TOKEN"`). Für lange Credentials kann curl einen Header aus einer Datei lesen mit `-H @headerfile`, sodass das Secret nie in der Shell-History erscheint.
- --data-binary @file für binäre Nutzlasten bevorzugen
- Wenn der Body eine Datei ist, deren Bytes wichtig sind — ein Bild, eine signierte Nutzlast, JSON mit bedeutsamen Leerzeichen — verwende `--data-binary @file` statt `-d @file`. Einfaches `-d` entfernt Zeilenumbrüche und Wagenrückläufe und korrumpiert binäre und mehrzeilige Inhalte lautlos. `--data-binary` sendet die Datei exakt so, wie sie auf dem Datenträger liegt.
- Header-Werte in Anführungszeichen einschließen
- Schließe `-H`-Werte immer in Anführungszeichen ein: `-H 'Content-Type: application/json'`. Ohne Anführungszeichen teilt das Leerzeichen nach dem Doppelpunkt das Argument und curl sieht einen fehlgebildeten Header. Einfache Anführungszeichen verhindern auch die Expansion von `$`, `*` und anderen Sonderzeichen innerhalb des Wertes — genau das, was dieses Tool standardmäßig ausgibt.
- --compressed zur Bandbreiteneinsparung verwenden
- Füge `--compressed` bei API-Aufrufen und Downloads hinzu, um gzip/brotli-Kodierung anzufordern, die curl transparent dekomprimiert. Bei JSON-lastigen APIs kann dies die Übertragungsgröße um 70–90 % reduzieren, ohne die Antwort zu verändern — ein kostenloser Gewinn in Skripten, die Endpunkte wiederholt abrufen.
- Timeouts in Skripten festlegen
- In jedem automatisierten Kontext `--connect-timeout` und `--max-time` hinzufügen, damit ein langsamer oder hängender Endpunkt eine Pipeline nicht ewig blockieren kann. Ein Health-Check mit `--max-time 10` schlägt schnell fehl und ermöglicht der CI weiterzumachen. Mit `--retry N` kombinieren, um vorübergehende Netzwerkunterbrechungen aufzufangen, ohne sofort aufzugeben.
- Mit -v verifizieren, bevor automatisiert wird
- Bevor ein curl-Befehl in ein Skript oder einen Cron-Job gebacken wird, einmal mit `-v` ausführen, um die genaue Anfrage-Zeile, Header und TLS-Handshake zu sehen. Der schnellste Weg, eine falsche Methode, einen fehlenden `Content-Type` oder einen nicht angehängten Auth-Header zu erkennen — interaktiv debuggen, dann `-v` für die Produktion entfernen.
Häufig gestellte Fragen
Was macht dieses Tool?
Werden meine Daten (Token, URLs) irgendwohin hochgeladen?
Wie sende ich eine POST-Anfrage mit JSON in curl?
Wie füge ich einer curl-Anfrage ein Bearer-Token hinzu?
Wie lade ich eine Datei mit curl hoch?
Kann ich einen aus Browser-DevTools kopierten Befehl ("Als cURL kopieren") importieren?
Was ist der Unterschied zwischen curl unter Windows und Linux/macOS?
Was ist der Unterschied zwischen -d, --data-raw und --data-binary?
Wie sende ich Cookies mit curl?
Wie folge ich Weiterleitungen?
Wie setze ich einen Anfrage-Timeout?
Verwandte Werkzeuge
Alle Werkzeuge anzeigen →Zahlensystem-Konverter — Binär, Hex, Dezimal & Oktal
Konvertierungswerkzeuge
Zahlen zwischen Binär, Hexadezimal, Dezimal, Oktal und beliebigen Basen (2–36) sofort konvertieren. Kostenlos, privat, ohne Anmeldung — alles läuft in Ihrem Browser.
Base64-Dekodierer & -Kodierer
Kodierung & Formatierung
Base64 online kostenlos dekodieren und kodieren. Echtzeitkonvertierung mit voller UTF-8- und Emoji-Unterstützung. 100 % privat — läuft in Ihrem Browser. Keine Anmeldung nötig.
Case-Konverter — UPPERCASE, lowercase, camelCase & mehr
Textverarbeitung
Konvertieren Sie Text sofort zwischen UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE und 6 weiteren Formaten. Kostenlos, nur im Browser, ohne Anmeldung.
Farbkonverter — HEX, RGB, HSL & OKLCH
Konvertierungswerkzeuge
Konvertieren Sie HEX zu RGB, HSL, OKLCH, OKLAB und CMYK direkt im Browser — jedes Format mit einem Klick kopieren. Kostenlos, ohne Anmeldung, Ihre Farben verlassen die Seite nie.
Crontab Generator & Cron-Ausdruck Builder
Datum & Uhrzeit
Erstellen, validieren und entschlüsseln Sie Cron-Ausdrücke im Browser. Live-Vorschau der nächsten Läufe in lokaler Zeit oder UTC. POSIX-5-Feld-Syntax, Voreinstellungen, Klartextbeschreibung. Kostenlos, privat, ohne Anmeldung.
CSV-zu-JSON-Konverter
Kodierung & Formatierung
CSV im Browser nach JSON konvertieren. RFC 4180, Typinferenz, Kopfzeile, Big-Int-sicher. 100 % privat, kein Upload.