cURL vers code
Collez une commande curl, vérifiez la requête qu’elle envoie, puis copiez-la en code dans sept langages.
L’analyse et la génération de code se font dans cet onglet. Rien n’est envoyé, enregistré ou transmis — pas même à nous.
Collez une commande curl ci-dessus pour voir le récapitulatif de la requête et le code.
Comment l’utiliser
- Collez une commande curl — depuis les outils de développement (Copier en tant que cURL), une documentation d’API ou une messagerie. Le code apparaît au fil de la frappe.
- Lisez d’abord la ligne de récapitulatif : méthode, URL, nombre d’en-têtes et taille du corps. Si le récapitulatif est correct, le code en dessous l’est aussi.
- Choisissez le langage cible ; le code et le nom du fichier téléchargé changent sans toucher à votre commande.
- Les avertissements signalent ce que le code ne représente pas — proxys, redirections, variables de shell. Les erreurs arrêtent la génération au lieu d’afficher une requête incomplète.
- Réinitialiser efface l’entrée et revient à Python ; recharger la page fait de même.
Exemple
Commande
curl -X POST 'https://httpbin.org/anything?from=fr' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer demo-token' \ -d '{"nom": "Amélie", "ville": "Paris"}'
Python
import requests url = "https://httpbin.org/anything?from=fr" headers = { "Content-Type": "application/json", "Authorization": "Bearer demo-token", } data = "{\"nom\": \"Amélie\", \"ville\": \"Paris\"}".encode("utf-8") response = requests.request("POST", url, headers=headers, data=data) print(response.status_code) print(response.text)
Le récapitulatif et le code ci-dessus sont générés à partir de cette commande — cet outil n’appelle jamais httpbin. Le sous-ensemble pris en charge est méthode, URL, en-têtes, corps, authentification Basic/Bearer et délai d’expiration.
Règles, limites et problèmes connus
- Pas d’envoi de fichiers : les entrées -F, -T et @fichier sont refusées, vous n’obtenez donc jamais de code qui laisse tomber un fichier en silence.
- Pas d’exécution de shell : les variables, substitutions de commande, tubes et commandes multiples ne sont pas développés ; $TOKEN reste littéral avec un avertissement.
- Une URL par commande : les URL supplémentaires sont ignorées avec un avertissement, pas transformées en boucle.
- Les options de transport ne sont pas reproduites : -L, -k, proxys, certificats client, versions HTTP, tentatives et compression produisent seulement un avertissement. Le code généré utilise les valeurs par défaut de son client.
- Aucune valeur par défaut implicite de curl : User-Agent: curl/… et Accept: */* ne sont pas ajoutés ; fixez-les avec -A / -H.
- Guillemets POSIX uniquement : guillemets simples, guillemets doubles, $'...' et continuations de ligne par barre oblique inverse ; l’échappement Windows CMD n’est pas analysé.
- Les en-têtes en double survivent en Go, PHP, Java, C# et Ruby ; les dictionnaires Python et JavaScript les fusionnent avec ", ".
- Une requête GET/HEAD avec un corps est générée telle quelle, avec un avertissement — fetch la refuse.
- Pas d’historique ni de persistance : recharger efface tout ; le bouton de partage partage le lien de la page, jamais votre commande.
- Cet outil ne fait que convertir ; il n’envoie jamais la requête. Utilisez le client API si vous voulez aussi voir la réponse.
Outils associés
Utiles après la conversion d’une commande.