Collez une commande cURL, obtenez la même requête dans 10 langages
Vous avez trouvé un exemple d'API sur la page de docs ou copié une requête depuis le panel Network de votre navigateur et elle est sortie comme une commande `curl` longue et effrayante. Vous n'écrivez pas du shell, vous écrivez du JavaScript, Python, Go, PHP, Ruby, Rust. Vous avez besoin du même appel dans votre langage et tout de suite.
Ce convertisseur fait exactement ça. Collez une commande cURL en haut (une ligne ou multi-ligne avec continuations `\` Unix ou `^` Windows), et un snippet propre et exécutable apparaît en dessous dans l'onglet langage que vous choisissez. Il gère les flags que les commandes cURL réelles utilisent vraiment : `-X`, `-H`, `-d` / `--data-raw` / `--data-urlencode`, `-F` multipart, `-u` basic auth, `-A` user-agent, `-b` cookies, `-G` GET-avec-body-en-query, `-L` suivre les redirections, `-k` insecure, `--compressed`, et `--max-time`.
La sortie couvre JavaScript fetch, axios, Node fetch, Python requests, Python httpx, Go net/http, PHP Guzzle, Ruby Net::HTTP, Rust reqwest et un cURL nettoyé pour les cas où l'original était un bazar. Choisissez un onglet, copiez, collez dans votre code. Tout le parsing tourne dans votre navigateur, pas d'upload, pas d'analytics sur l'URL que vous avez tapée.
Mode d'emploi
- Collez votre commande cURL dans la boîte d'entrée. L'exemple par défaut montre le cas le plus courant : un `POST` avec corps JSON et en-tête Authorization. Remplacez par ce que vous avez.
- Les commandes multi-ligne avec `\` en fin de ligne (shell Unix) ou `^` en fin de ligne (Windows `cmd.exe`) sont jointes automatiquement. Vous pouvez coller le texte exact d'un tutoriel sans le nettoyer d'abord.
- Choisissez un onglet langage en haut : fetch, axios, Node fetch, Python requests, Python httpx, Go, PHP, Ruby, Rust, ou cURL reformaté. Le panneau de sortie se met à jour immédiatement, pas de bouton Convertir à cliquer.
- Cliquez sur Copier en haut à droite du panneau de sortie. Le snippet va dans votre presse-papiers, prêt à coller dans votre éditeur. Le bouton montre une coche pendant une seconde pour que vous sachiez que ça a marché.
- Si le parser a trouvé des flags qu'il ne comprend pas, un panneau d'avertissements jaune apparaît sous la sortie. Lisez-le : généralement c'est un flag qui n'affecte que la sortie shell (`-s`, `-v`, `-o fichier`) et vous pouvez l'ignorer. Si c'est niveau requête, vous aurez peut-être besoin de l'ajouter à la main.
- Éditez le cURL à la volée : changez un en-tête, swappez `POST` en `PUT`, virez un champ du corps JSON, la sortie se régénère à chaque frappe. Plus rapide que de re-lancer le convertisseur.
- Réutilisez l'onglet cURL comme normaliseur. Collez une commande multi-ligne brouillonne, copiez la sortie de l'onglet cURL en retour, et vous avez maintenant une version sur un écran avec un quoting cohérent.
Quand cet outil est utile
Sept moments où retaper une commande cURL dans votre vrai code prendrait plus longtemps que le reste de la feature :
- Copier du navigateur, coller dans le code. Clic droit sur une requête dans Chrome / Firefox DevTools → Copier en cURL, collez ici, choisissez votre langage, copiez. La requête que vous avez vue dans l'onglet network est maintenant un snippet fonctionnel en JavaScript, Python ou Go, avec exactement les mêmes en-têtes et corps.
- Traduire un exemple de doc d'API. La documentation d'API ne montre que `curl`. Vous en avez besoin en Python requests pour un backend Django ou Ruby Net::HTTP pour un controller Rails. Collez une fois, switchez d'onglet, copiez. Économise les 20 minutes de "comment fait-on l'auth en requests déjà ?" lookup.
- Reproduire une requête Postman / Insomnia. Les deux outils ont un menu "Copier en cURL". Utilisez ça pour round-tripper vers du vrai code que vous pouvez commiter, au lieu de laisser l'appel verrouillé dans un outil GUI que vous seul avez installé.
- Partager un appel fonctionnel avec un collègue. Il a demandé : "comment je hit notre API staging depuis un script Node ?". Vous avez la commande cURL qui marche pour vous. Convertissez en Node fetch ou axios et collez dans Slack, il peut le lancer tel quel.
- Migrer d'une librairie HTTP à une autre. Votre code mixe `requests` et `httpx`, ou `fetch` et `axios`. Mettez l'appel existant ici comme cURL, copiez la version nouvelle-librairie, remplacez. Travail mécanique qui sinon ferait caler une PR de refactor.
- Rétro-ingénierie d'un endpoint non documenté. Vous avez ouvert un site web, regardé ses appels réseau, copié celui dont vous avez besoin comme cURL. Le convertisseur enlève le bruit `-v`, `-s`, `-o` et vous donne un snippet propre à mettre dans un scraper.
- Onboarding sur une nouvelle API. Lire 10 pages de docs c'est lent. Coller leurs commandes d'exemple ici et regarder la forme du corps se déplier à travers les langages vous apprend l'API plus vite que le texte de référence.