Collez une commande cURL à gauche et cliquez sur "Convertir" — nous la transformerons en XMLCollez une commande cURL

Ce que fait cet outil

Si vous avez déjà enregistré un appel HTTP dans les DevTools de Chrome, cliqué sur "Copy as cURL", puis eu besoin d'envoyer cette même requête à un fournisseur SOAP ou à un banc d'essai tourné vers XML, vous connaissez la chanson — vous passez des plombes à restructurer manuellement en-têtes et corps JSON en éléments XML. Cet outil vous épargne ça. Collez la commande cURL telle quelle, continuations de ligne en backslash comprises, et vous obtenez un seul document XML bien formé décrivant toute la requête : méthode, URL, paramètres de requête, en-têtes, auth et corps.

Le parseur comprend les flags que vous utilisez réellement au quotidien — -X pour la méthode, -H pour chaque en-tête, -d/--data pour le corps, -u pour l'auth basique, -b pour les cookies, et les continuations backslash-newline que curl(1) utilise pour les commandes multi-lignes lisibles. Les arguments entre guillemets simples et doubles sont gérés, et les query strings d'URL sont extraites dans leur propre bloc <QueryParams> pour que vous voyiez chaque paramètre sur sa propre ligne.

Si la requête porte un corps JSON, il est intégré comme un élément <Body> imbriqué — chaque champ du payload JSON devient son propre élément XML, en conservant la forme (les objets s'imbriquent, les tableaux se répètent). Les corps form-urlencoded sont éclatés en paires clé/valeur. Tout ce que cURL ne reconnaît pas — un --compressed occasionnel, un -k, ou un flag que vous avez passé — est collecté dans un bloc <Options> pour que rien ne soit silencieusement écarté. Le résultat est un document XML que vous pouvez envoyer à un client SOAP, committer comme fixture de test, ou coller dans la documentation.

Comment l'utiliser

Trois étapes. Ça marche pareil que le cURL soit sur une ligne ou sur vingt avec des continuations backslash.

1

Collez le cURL (ou essayez l'exemple)

Déposez votre commande cURL dans l'éditeur de gauche. Laissez les continuations \ où elles sont, gardez les guillemets simples autour du corps, ne retirez aucun flag. Cliquez sur Charger un exemple si vous voulez voir d'abord un cas HTTP réaliste.

Chrome, Firefox et Safari ont tous une option "Copy as cURL" / "Copy as cURL (bash)" dans leur panneau Network — cette sortie se colle proprement. Postman a aussi "Code snippets → cURL" qui fonctionne.

2

Cliquez sur Convertir

Cliquez sur le bouton vert Convertir. L'outil parse la commande, extrait méthode, URL, query string, en-têtes, auth et corps, et construit le XML en une seule passe. Vous verrez un court indicateur de chargement pendant l'opération.

3

Copiez le XML

Le panneau de droite se remplit avec un XML indenté et bien formé que n'importe quel outil conscient de HTTP ou parseur XML conforme aux standards acceptera. Copiez-le directement dans une requête SOAP, une fixture de test, ou votre doc d'API.

Quand c'est vraiment utile

Générer une enveloppe SOAP à partir d'un enregistrement DevTools

Vous avez enregistré un appel REST dans le navigateur, mais le fournisseur en aval parle encore SOAP. Collez le cURL et utilisez le XML résultant comme point de départ pour le corps de l'enveloppe — méthode, URL et forme du payload sont déjà posés.

Fixtures de test pour des outils XML

SoapUI, ReadyAPI et les anciens kits de test d'entreprise veulent des fichiers XML en entrée. Convertissez un cURL qui marche en XML une fois et committez-le comme fixture au lieu de maintenir deux formats parallèles à la main.

Intégrations avec des fournisseurs d'entreprise legacy

Les API partenaires qui tournent encore sur WSDL/SOAP ou des gateways XML n'accepteront pas de scripts cURL. Leur donner une requête XML qu'ils peuvent charger directement de leur côté évite un aller-retour du type "qu'est-ce qu'attend exactement votre endpoint ?".

Documentation d'API et snippets

Vous voulez que votre README montre la même requête sous deux formes — cURL pour les développeurs, XML pour l'équipe ops qui regarde le trafic. Générez le XML depuis le cURL une fois et gardez les deux synchronisés.

Questions fréquentes

Quels flags cURL sont supportés ?

Les habituels : -X/--request pour la méthode HTTP, -H/--header pour chaque en-tête (répétez autant de fois que vous voulez), -d/--data/--data-raw/--data-binary pour le corps de la requête, -u/--user pour l'auth basique, et -b/--cookie pour les cookies. La référence complète des flags est sur curl.se/docs/manpage.html si vous voulez chercher quelque chose.

Est-ce qu'il gère les continuations backslash multi-lignes ?

Oui. Le \ en fin de ligne suivi d'un saut de ligne est traité comme une continuation — exactement comme bash et cURL le voient. Collez la commande telle qu'elle est sortie des DevTools ou de votre historique terminal. Pas besoin de la réunir sur une seule ligne d'abord.

Que devient un corps JSON de requête ?

Un corps JSON (content-type application/json ou simplement un payload -d '{...}' qui parse comme du JSON) est intégré comme XML imbriqué dans un élément <Body> — chaque champ devient son propre élément, les objets s'imbriquent et les tableaux se répètent. La grammaire JSON suit le RFC 8259, et la forme est préservée un-pour-un dans la sortie XML.

Et les corps URL-encoded ou de formulaire ?

Un corps application/x-www-form-urlencoded (par ex. -d 'user=ava&pwd=x') est éclaté en éléments clé/valeur individuels dans <Body>. Les paramètres de query string sur l'URL elle-même sont extraits dans un élément <QueryParams> séparé pour que vous voyiez chaque param clairement. Les corps multipart (-F) sont représentés par un élément par partie avec le nom du champ et sa valeur.

Puis-je coller la sortie de "Copy as cURL" de Chrome ou Firefox ?

Oui — c'est le cas d'usage principal. "Copy as cURL (bash)" de Chrome, "Copy as cURL" de Firefox et "Copy as cURL" de Safari se collent tous proprement. Le parseur ignore les différences de style de guillemets. La sortie snippet cURL de Postman marche aussi.

Et si mon cURL a un flag que le parseur ne reconnaît pas ?

Les flags inconnus ou exotiques (--compressed, -k, --resolve, flags longs custom) sont collectés dans un bloc <Options> à la fin du XML plutôt que d'être balancés à la poubelle. Comme ça vous voyez exactement ce qu'il y avait dans la commande d'origine et vous décidez comment le représenter côté réception.

Autres outils qui peuvent servir

cURL vers XML n'est qu'une pièce du puzzle. Ces outils se marient bien avec :