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

  1. 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.
  2. 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.
  3. Choisissez le langage cible ; le code et le nom du fichier téléchargé changent sans toucher à votre commande.
  4. 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.
  5. 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.

Utiles après la conversion d’une commande.