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.

curl-Befehl
JavaScript fetch

    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.

    So wird umgewandelt
    curlfetch
    -X POSTmethod: "POST"
    -H "Name: Wert"headers: { "Name": "Wert" }
    -d, --data-raw, --data-binarybody:, 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.pngFormData mit append()
    -u user:passAuthorization: Basic … (Base64)
    -G mit -dDaten als Query-String an die URL
    -Imethod: "HEAD"
    -m 10signal: AbortSignal.timeout(10000)
    -b "a=1"Cookie-Header (nur Node.js)
    -L, --compressed, -snicht 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

    1. Den Befehl in das Feld „curl-Befehl“ einfügen oder über „Beispiel“ laden.
    2. Festlegen, ob die Antwort als JSON gelesen und .then() statt async/await verwendet wird.
    3. Für Server-Code „Für Node.js“ einschalten, dann entfallen die Browser-Hinweise.
    4. 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.
    Fragen

    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.

    Weitere Werkzeuge

    Das könnte auch helfen

    Alle 358 Werkzeuge