cURL in fetch umwandeln
cURL in fetch umwandeln: curl-Befehl einfügen und sofort JavaScript-fetch-Code mit Methode, Headern, JSON-Body, Formular, Basic Auth und Zeitlimit erhalten.
Alles läuft in Ihrem Browser, Eingaben werden nicht übertragen. Nur zum Lernen und Testen: Verwenden Sie für echte Geheimnisse und Produktivsysteme geprüfte Werkzeuge Ihrer Organisation.
| curl | fetch |
|---|---|
-X POST | method: "POST" |
-H "Name: Wert" | headers: { "Name": "Wert" } |
-d, --data-raw, --data-binary | body:, mit Content-Type application/x-www-form-urlencoded, falls keiner angegeben |
--data-urlencode "q=a b" | Wert mit encodeURIComponent kodiert |
--json '{…}' | body: JSON.stringify(…) plus Content-Type und Accept |
-F feld=wert, -F datei=@bild.png | FormData mit append() |
-u user:pass | Authorization: Basic … (Base64) |
-G mit -d | Daten als Query-String an die URL |
-I | method: "HEAD" |
-m 10 | signal: AbortSignal.timeout(10000) |
-b "a=1" | Cookie-Header (nur Node.js) |
-L, --compressed, -s | nicht nötig: fetch folgt Weiterleitungen und entpackt selbst |
Vom curl-Befehl zum fetch-Aufruf
Mit diesem Werkzeug können Sie cURL in fetch umwandeln: Fügen Sie einen curl-Befehl ein, etwa aus einer API-Dokumentation oder aus den Entwicklerwerkzeugen des Browsers (Rechtsklick auf eine Anfrage, „Kopieren als cURL (bash)“), und Sie erhalten passenden Code für JavaScript fetch. Übernommen werden Methode, Header, Formulardaten, JSON-Bodys, Basic Auth, Bearer-Token, Cookies, Query-Parameter und Zeitlimits. Ein JSON-Body wird lesbar als JSON.stringify({…}) ausgegeben, damit Sie Werte direkt im Code anpassen können. In englischen Anleitungen heißt diese Aufgabe meist „curl to fetch“.
Die fetch API ist in allen aktuellen Browsern eingebaut und seit Version 18 auch in Node.js, ohne Zusatzpaket. Der erzeugte Code nutzt await, was in Modulen und async-Funktionen funktioniert; alternativ schalten Sie auf .then() um. Für Node.js fetch gilt: Header wie Cookie und User-Agent lassen sich setzen, im Browser dagegen nicht, und dort greift zusätzlich CORS: Der Server muss Anfragen von Ihrer Seite ausdrücklich erlauben. Den gleichen Befehl für Python übersetzt cURL in Python.
Grenzen: Dateien, die curl mit @datei liest, kann der Code nicht kennen; an diesen Stellen steht ein Platzhalter. Optionen wie -k (Zertifikat nicht prüfen), Proxys und Client-Zertifikate unterstützt fetch nicht direkt. Der Befehl wird nach Bash-Regeln gelesen; Befehle aus der Windows-Eingabeaufforderung mit ^ als Escape-Zeichen wandeln Sie am besten vorher in die Bash-Variante um. Echte Zugangsdaten müssen Sie nicht einfügen: Alles läuft lokal, trotzdem genügt zum Umwandeln ein Platzhalter.
Anleitung: cURL in fetch umwandeln in 4 Schritten
- Den Befehl in das Feld „curl-Befehl“ einfügen oder über „Beispiel“ laden.
- Festlegen, ob die Antwort als JSON gelesen und .then() statt async/await verwendet wird.
- Für Server-Code „Für Node.js“ einschalten, dann entfallen die Browser-Hinweise.
- Den JavaScript-fetch-Code kopieren und Platzhalter wie Dateipfade oder Token ersetzen.
Typische Anwendungsfälle
- Eine in den Browser-Entwicklerwerkzeugen als cURL kopierte Anfrage im eigenen Frontend nachbauen.
- Beispiele aus API-Dokumentationen in ein Node.js-Skript ohne Zusatzpaket übernehmen.
- Datei-Uploads mit -F in FormData-Code übersetzen.
- Einer Anfrage ein Zeitlimit geben: -m wird zu AbortSignal.timeout.
Häufige Fragen
Wie kopiere ich eine Anfrage als curl aus dem Browser?
Entwicklerwerkzeuge öffnen (F12), Reiter Netzwerk, Rechtsklick auf die Anfrage und „Kopieren“ › „Als cURL (bash)“. Den Befehl fügen Sie hier ein. Achtung: Er enthält oft Cookies und Token; entfernen Sie diese, bevor Sie Code weitergeben.
Funktioniert der Code auch in Node.js?
Ja, ab Node.js 18 ist fetch eingebaut. In älteren Versionen brauchen Sie das Paket node-fetch oder undici. Await auf oberster Ebene funktioniert in ES-Modulen (.mjs oder type: module).
Warum erhalte ich im Browser einen CORS-Fehler?
curl kennt keine Same-Origin-Regeln, der Browser schon. Der Server muss mit Access-Control-Allow-Origin erlauben, dass Ihre Seite ihn abfragt. Sonst rufen Sie die API von Ihrem eigenen Server aus auf.
Was wird aus -d ohne Content-Type?
curl sendet dann application/x-www-form-urlencoded. Der erzeugte Code setzt diesen Header ausdrücklich, damit sich fetch genauso verhält.
Wie wird -u user:passwort umgesetzt?
Als Header Authorization mit dem Wort Basic und user:passwort in Base64, genau wie curl es sendet. Base64 ist keine Verschlüsselung; verwenden Sie Basic Auth nur über HTTPS.
Wie lade ich mit fetch eine Datei hoch?
Mit einem FormData-Objekt: form.append("datei", datei) und dann fetch(url, { method: "POST", body: form }). Den Content-Type samt boundary setzt fetch selbst; geben Sie ihn nicht von Hand an.
Was ist der Unterschied zwischen fetch und axios?
fetch ist im Browser und in Node.js eingebaut, axios ist eine zusätzliche Bibliothek. axios wandelt JSON automatisch um und wirft bei Statuscodes ab 400 einen Fehler; bei fetch prüfen Sie dafür response.ok selbst.
Das könnte auch helfen
Cron-Ausdruck erklären
Crontab-Zeilen mit 5 oder 6 Feldern auf Deutsch erklärt, mit den nächsten 10 Ausführungen.
ÖffnenCron-Generator
Zeitplan im Formular wählen und die fertige Crontab-Zeile kopieren.
ÖffnenUnix-Zeitstempel umrechnen
Timestamp in Datum und zurück, Sekunden und Millisekunden erkannt, UTC und Berlin.
ÖffnenUUID-Generator
UUID v4 und v7 erzeugen, bis zu 1.000 auf einmal, und vorhandene UUIDs prüfen.
ÖffnenULID-Generator
Sortierbare IDs in Crockford Base32 erzeugen, dekodieren und in UUID umwandeln.
ÖffnenTexte vergleichen (Diff)
Unterschiede zwischen zwei Texten zeilen-, wort- oder zeichenweise finden.
Öffnen