Kategorie: Entwicklung

cURL-zu-fetch()-Konverter

Eigene IdeeTool fehlt?

Einen curl-Befehl in einen JavaScript-fetch()-Aufruf umwandeln

Einen curl-Befehl aus dem Netzwerktab eines Browsers oder der Dokumentation einer API einfügen und einen entsprechenden JavaScript-fetch()-Aufruf erhalten, mit Methode, Headern und Body übernommen. Die Umwandlung läuft vollständig in Ihrem Browser.

fetch()-Snippet
fetch("https://api.example.com/v1/items", {
  method: "POST",
  headers: {
    "Content-Type": "application/json"
  },
  body: "{\"name\":\"Ada\"}"
})
  .then((response) => response.json())
  .then((data) => console.log(data));

Alles auf dieser Seite wird in Ihrem Browser verarbeitet. Nichts wird hochgeladen.

Wozu dieses Werkzeug dient

API-Dokumentationen und die "Als curl kopieren"-Menüs von Browsern liefern beide curl-Befehle, aber ein Frontend benötigt dieselbe Anfrage meist als fetch(). Dieses Tool parst -X/--request, -H/--header, -d/--data (sowie die Varianten --data-raw, --data-binary und --data-urlencode), --url, -u/--user und eine einfache abschließende URL und meldet bei nicht erkannten Formen wie mehreren losen Argumenten oder einem nicht unterstützten Flag einen klaren Fehler statt einer falschen Vermutung.

So funktioniert es

  1. Einen curl-Befehl einfügen.
  2. Das erzeugte fetch()-Snippet prüfen.
  3. Es in Ihr JavaScript kopieren.

Datenschutz

Dieses Werkzeug läuft vollständig in Ihrem Browser. Ihre Eingabe wird nie hochgeladen, gespeichert oder weitergegeben – beim Schließen des Tabs ist sie weg.

Häufig gestellte Fragen

Wird die Anfrage irgendwohin gesendet?
Nein. Der Befehl wird nur als Text geparst und umgeschrieben; es wird nichts ausgeführt.
Welche curl-Flags werden unterstützt?
-X/--request, -H/--header, -d/--data (sowie --data-raw, --data-binary, --data-urlencode), --url, -u/--user für Basic Auth sowie gängige Flags ohne Argument wie -s, -L, -k und -i, die sicher ignoriert werden. Alles andere wird als nicht unterstütztes Flag gemeldet statt stillschweigend verworfen.
Warum wird manchmal ein Content-Type-Header hinzugefügt?
Wenn der Befehl einen Body, aber keinen expliziten Content-Type-Header hat, fügt das Snippet application/json hinzu, was curls eigenem üblichen Standard für JSON-APIs entspricht. Entfernen oder bearbeiten Sie ihn, falls Ihre Anfrage etwas anderes benötigt.