La documentation du backend fournit une commande curl ; une application Flutter a besoin de Dart. Ce convertisseur fait le pont : il analyse les options curl comme curl lui-même et produit du code fondé sur package:http, le paquet dont dépend déjà presque tout projet Dart ou Flutter. Les en-têtes sont rassemblés dans une map typée, un corps JSON devient une map Dart encodée par jsonEncode plutôt qu’une chaîne collée, et l’authentification basique est reconstruite avec base64Encode. Les verbes sans raccourci passent par un http.Request, si bien qu’une méthode inhabituelle produit tout de même du code opérationnel.
Fonctionnalités
Analyse -X, -H, -d, --data-raw, --json, -u, -b, -A, -e et -G comme curl
Produit du code fondé sur package:http, le client HTTP standard de Dart
En-têtes rassemblés dans une Map<String, String> typée
Corps JSON rendus en map Dart et encodés par jsonEncode
Authentification basique reconstruite avec base64Encode plutôt qu’un Base64 collé
Repli sur http.Request pour les verbes sans méthode abrégée
Signale les options curl sans équivalent Dart raisonnable
Comment utiliser cURL vers Dart
Collez la commande curl de votre documentation d’API
Lisez le Dart généré à droite
Vérifiez les avertissements sur les options non reportables
Copiez le code ou téléchargez-le en fichier .dart
Exemple
Entrée
curl -X PUT https://api.example.com/users/1 -H 'Authorization: Bearer TOKEN' -d '{"role":"admin"}'
Sortie
final response = await http.put(url, headers: headers, body: body);
Le verbe vient de -X, et le corps JSON est bâti en map Dart avant encodage.
Erreurs courantes et dépannage
Le paquet est introuvable à l’exécution. — Ajoutez-le au pubspec.yaml sous dependencies sous le nom http, puis lancez dart pub get. Il ne fait pas partie du SDK, bien qu’il soit maintenu par l’équipe Dart.
La requête échoue seulement sur Flutter web. — C’est le CORS, pas le code. Le navigateur applique la politique de même origine qu’une commande curl ne voit jamais.
Une chaîne du corps est interpolée bizarrement. — Le signe dollar déclenche une interpolation en Dart. Il est échappé dans les littéraux produits, mais échappez tout $ que vous collez à la main.
La requête marche sur Android mais pas contre un serveur local dans l’émulateur. — Un émulateur Android ne voit pas le localhost de la machine hôte : utilisez 10.0.2.2. Le HTTP en clair doit aussi être autorisé dans la configuration réseau.
Foire aux questions
Le code produit fonctionne-t-il dans une application Flutter ?
Oui. package:http se comporte de la même façon en Flutter et en Dart pur, le code de requête se colle donc tel quel dans une classe de service.
Faut-il utiliser package:http ou Dio ?
package:http est l’option officielle la plus légère et couvre presque toutes les requêtes. Dio ajoute intercepteurs, annulation et confort multipart, avec une API assez proche pour transposer facilement.
Comment un corps JSON est-il converti ?
Il est analysé et écrit en littéral de map Dart, puis encodé par jsonEncode. Objets et tableaux imbriqués restent lisibles et les valeurs se remplacent directement par des variables.
Et si la méthode n’a pas d’aide comme http.get ?
Le code produit construit un http.Request avec le verbe en chaîne et l’envoie par send(), ce qui couvre PURGE, LINK ou tout autre verbe.
La commande curl est-elle envoyée pour être convertie ?
Non. L’analyse et la génération se font dans votre navigateur, les jetons et clés d’API restent donc sur votre appareil.
Outils associés
cURL vers Swift — Convertit une commande curl en code Swift avec URLSession.
cURL vers Fetch — Convertit une commande curl en un appel fetch() JavaScript.
curl vers Python — Convertissez une commande curl en script Python requests.
curl vers Go — Convertissez une commande curl en code Go net/http.
curl vers Node.js — Convertissez une commande curl en script Node.js basé sur axios.
Client API — Envoyez des requêtes HTTP, créez en-têtes et paramètres et inspectez les réponses ; conserve vos 25 dernières.
Plus d’outils Outils API
cURL vers Fetch — Convertit une commande curl en un appel fetch() JavaScript.
Analyseur d’URL — Décompose une URL en ses parties et liste les paramètres de requête.
Client API — Envoyez des requêtes HTTP, créez en-têtes et paramètres et inspectez les réponses ; conserve vos 25 dernières.
Générateur d'URL et UTM — Construisez et validez des URL de production encodées avec des paramètres UTM.
Testeur d’API OpenAI — Créez, exécutez et copiez des requêtes à l’API Chat Completions d’OpenAI en cURL, Python et JavaScript.
Testeur d’API Anthropic Claude — Créez, exécutez et copiez des requêtes à l’API Messages d’Anthropic Claude en cURL, Python et JavaScript.
Testeur d’API Google Gemini — Créez, exécutez et copiez des requêtes generateContent de Google Gemini en cURL, Python et JavaScript.
Testeur d’API Replicate — Créez, exécutez et copiez des requêtes de prédiction de l’API Replicate en cURL, Python et JavaScript.
Testeur d’API Hugging Face — Créez, exécutez et copiez des requêtes à l’API d’inférence de Hugging Face en cURL, Python et JavaScript.
curl vers Python — Convertissez une commande curl en script Python requests.
curl vers Go — Convertissez une commande curl en code Go net/http.
curl vers PHP — Convertissez une commande curl en script PHP avec l’extension cURL.