Ce que fait cet outil
Le convertisseur curl vers code transforme une commande curl en code prêt à l’emploi pour sept cibles : JavaScript fetch, Node.js axios, Python requests, Go net/http, PHP cURL, Java HttpClient et C# HttpClient. La documentation des API, Postman et les DevTools du navigateur fournissent souvent les requêtes sous forme de commandes curl ; cet outil vous évite de réécrire à la main la méthode, l’URL, les en-têtes, le corps et l’authentification.
L’analyseur est écrit spécialement pour la ligne de commande de curl. Il lit les guillemets comme bash, comprend les options courtes groupées comme -sSL et les valeurs accolées comme -XPOST, et conserve l’ordre de vos en-têtes.
Comment l’utiliser
- Collez une commande curl dans l’entrée ou cliquez sur Exemple pour en essayer une.
- Choisissez le Langage voulu.
- Copiez le résultat ou téléchargez-le comme fichier source.
Un corps envoyé avec -d devient un corps encodé comme formulaire ; --json (ou un Content-Type JSON) devient un corps JSON, mis en forme quand le langage le permet ; et les champs -F deviennent un formulaire multipart avec envoi de fichiers. -u user:password devient l’option d’authentification basique propre au langage, et -k, -L, -m et -x correspondent à la vérification TLS, aux redirections, aux délais d’attente et aux proxys.
Exemple
Cette commande envoie du JSON avec un jeton bearer :
curl https://api.example.com/v1/users \
-H 'Authorization: Bearer TOKEN' \
--json '{"name":"Ada"}'
En Python, elle devient un appel requests.post() avec un dictionnaire headers et json=json_data ; en Go, un http.NewRequest qui définit les en-têtes un par un et passe le corps via un lecteur de chaîne.
Astuces
- En cas d’erreur, le message explique le problème et le curseur saute à l’élément fautif, comme une option inconnue ou un guillemet non fermé.
- Les pipes et redirections après la commande (
| jq .,> out.json) sont ignorés. - Le code généré lit à l’exécution les fichiers référencés avec
@file: gardez ces chemins valides par rapport à l’endroit où le programme s’exécute. - Vérifiez les secrets avant de partager un lien : le bouton de partage place la commande dans le hash du lien.
FAQ
› Ma commande curl est-elle envoyée à un serveur ?
Non. La commande est analysée et convertie entièrement dans votre navigateur : les jetons, cookies et mots de passe qu'elle contient ne quittent jamais votre appareil.
› Quelles options de curl sont prises en charge ?
Celles qui définissent la requête : -X, -H, -d, --data-raw, --data-binary, --data-urlencode, --json, -F, -u, -b, -A, -e, -G, -I, -L, -k, -m, -x, --compressed et --url. Les options qui ne touchent que la sortie de curl, comme -s, -v, -o ou -w, sont acceptées et ignorées.
› Puis-je coller une commande copiée depuis les DevTools du navigateur ?
Oui. Utilisez Copier en tant que cURL (bash) dans le panneau Réseau. Les continuations de ligne avec \, ^ (cmd Windows) et ` (PowerShell) sont comprises, tout comme les guillemets simples, doubles et $'…'.
› Que deviennent les options que le code ne peut pas reproduire ?
Le code généré commence par un commentaire Note, par exemple quand -k ne peut pas s'exprimer avec fetch ou quand curl lirait un fichier que le code n'ouvre pas. Les options inconnues provoquent une erreur qui désigne précisément l'option.