cURL zu Dart

Fügen Sie einen curl-Befehl ein und erhalten Sie Dart-Code, der dieselbe Anfrage mit package:http stellt.

cURL zu Dart zerlegt Ihren Befehl im Browser. Zugangsdaten aus dem Befehl verlassen Ihr Gerät nicht.

Entwickelt und gepflegt von Udit Agarwal

Stattdessen zu Swift wandeln

Über cURL zu Dart

Die Backend-Doku liefert einen curl-Befehl; eine Flutter-App braucht Dart. Dieser Konverter schlägt die Brücke, zerlegt die curl-Optionen so, wie curl es selbst tut, und erzeugt Code mit package:http – jenem Paket, von dem fast jedes Dart- und Flutter-Projekt ohnehin abhängt. Header landen in einer typisierten Map, ein JSON-Body wird eine Dart-Map mit jsonEncode statt eines eingefügten Strings, und Basic Auth wird mit base64Encode aus den entschlüsselten Zugangsdaten neu gebaut. Verben ohne Kurzform fallen auf http.Request zurück, sodass auch eine ungewöhnliche Methode lauffähigen Code ergibt.

Funktionen

  • Zerlegt -X, -H, -d, --data-raw, --json, -u, -b, -A, -e und -G wie curl selbst
  • Erzeugt Code mit package:http, dem Standard-HTTP-Client von Dart
  • Header in einer typisierten Map<String, String>
  • JSON-Bodys als Dart-Map, codiert mit jsonEncode
  • Basic Auth mit base64Encode statt eingefügtem Base64
  • Fällt für Verben ohne Kurzform auf http.Request zurück
  • Warnt vor curl-Optionen ohne sinnvolle Dart-Entsprechung

So verwendest du cURL zu Dart

  1. Fügen Sie den curl-Befehl aus Ihrer API-Doku ein
  2. Lesen Sie den erzeugten Dart-Code rechts
  3. Prüfen Sie die Hinweise zu nicht übertragbaren Optionen
  4. Kopieren Sie den Code oder laden Sie ihn als .dart-Datei

Beispiel

Eingabe

curl -X PUT https://api.example.com/users/1 -H 'Authorization: Bearer TOKEN' -d '{"role":"admin"}'

Ausgabe

final response = await http.put(url, headers: headers, body: body);

Das Verb stammt aus -X, und der JSON-Body wird vor dem Codieren als Dart-Map gebaut.

Häufige Fehler & Fehlerbehebung

  • Das Paket wird beim Ausführen nicht gefunden. — Tragen Sie es in pubspec.yaml unter dependencies als http ein und führen Sie dart pub get aus. Es gehört nicht zum SDK, wird aber vom Dart-Team gepflegt.
  • Die Anfrage scheitert nur im Flutter-Web. — Das ist CORS, nicht der Code. Der Browser wendet die Same-Origin-Regel an, die ein curl-Befehl nie sieht, die API muss also die passenden Access-Control-Header senden.
  • Ein String im Body wird seltsam interpoliert. — Das Dollarzeichen startet in Dart eine Interpolation. In den erzeugten Literalen ist es escaped, doch bei manuell eingefügten Werten escapen Sie jedes $ als \$.
  • Die Anfrage klappt auf Android, aber nicht gegen einen lokalen Server im Emulator. — Ein Android-Emulator sieht das localhost des Hosts nicht – nutzen Sie 10.0.2.2. Zudem muss unverschlüsseltes HTTP in der Netzwerksicherheitskonfiguration erlaubt sein.

Häufig gestellte Fragen

Funktioniert der erzeugte Code in einer Flutter-App?
Ja. package:http verhält sich in Flutter und in reinem Dart gleich, der Anfragecode lässt sich also unverändert in eine Service-Klasse einfügen. Nur die Ausgabe am Ende ersetzen Sie durch das, was Ihre App tut.
Sollte ich package:http oder Dio nutzen?
package:http ist die schlankere offizielle Option und deckt fast jede Anfrage ab. Dio ergänzt Interceptors, Abbruch und Multipart-Komfort, und die API ist ähnlich genug für eine leichte Übertragung.
Wie wird ein JSON-Body umgewandelt?
Er wird geparst und als Dart-Map-Literal geschrieben, danach mit jsonEncode codiert. So bleiben verschachtelte Objekte und Arrays lesbar und Werte lassen sich direkt durch Variablen ersetzen.
Was, wenn die Methode keine Kurzform wie http.get hat?
Der erzeugte Code baut ein http.Request mit dem Verb als String und sendet es über send(), was PURGE, LINK oder jede andere API-Methode abdeckt.
Wird der curl-Befehl zur Umwandlung hochgeladen?
Nein. Zerlegung und Codeerzeugung passieren im Browser, Tokens und API-Schlüssel im Befehl bleiben also auf Ihrem Gerät.

Verwandte Tools

  • cURL zu Swift — Wandelt einen curl-Befehl in Swift-Code mit URLSession.
  • cURL zu Fetch — Konvertiere einen curl-Befehl in einen JavaScript-fetch()-Aufruf.
  • curl zu Python — Wandle einen curl-Befehl in Python-requests-Code um.
  • curl zu Go — Wandle einen curl-Befehl in Go-net/http-Code um.
  • curl zu Node.js — Wandle einen curl-Befehl in Node.js-axios-Code um.
  • API-Client — Sende HTTP-Anfragen, erstelle Header und Parameter und prüfe Antworten; speichert deine letzten 25.

Weitere API-Tools-Tools

  • cURL zu Fetch — Konvertiere einen curl-Befehl in einen JavaScript-fetch()-Aufruf.
  • URL-Parser — Zerlege eine URL in ihre Bestandteile und liste die Query-Parameter auf.
  • API-Client — Sende HTTP-Anfragen, erstelle Header und Parameter und prüfe Antworten; speichert deine letzten 25.
  • URL-Builder & UTM-Generator — Erstellen und validieren Sie codierte Produktions-URLs mit UTM-Parametern.
  • OpenAI-API-Tester — Erstelle, sende und kopiere Anfragen an die OpenAI-Chat-Completions-API als cURL, Python und JavaScript.
  • Anthropic-Claude-API-Tester — Erstelle, sende und kopiere Anfragen an die Anthropic-Claude-Messages-API als cURL, Python und JavaScript.
  • Google-Gemini-API-Tester — Erstelle, sende und kopiere generateContent-Anfragen von Google Gemini als cURL, Python und JavaScript.
  • Replicate-API-Tester — Erstelle, sende und kopiere Vorhersage-Anfragen der Replicate-API als cURL, Python und JavaScript.
  • Hugging-Face-API-Tester — Erstelle, sende und kopiere Anfragen an die Hugging-Face-Inference-API als cURL, Python und JavaScript.
  • curl zu Python — Wandle einen curl-Befehl in Python-requests-Code um.
  • curl zu Go — Wandle einen curl-Befehl in Go-net/http-Code um.
  • curl zu PHP — Wandle einen curl-Befehl in PHP-cURL-Code um.

Alle API-Tools-Tools ansehen (24) · Alle Tools