Convertitore cURL in XML
Incolla un comando cURL. Ottieni XML pulito.
Cosa fa questo strumento
Se hai mai registrato una chiamata HTTP nei Chrome DevTools, cliccato "Copy as cURL", e poi avuto bisogno di mandare la stessa richiesta a un fornitore SOAP o a un test harness XML-first, sai come va — te ne stai lì a ristrutturare a mano header e body JSON in elementi XML. Questo strumento ti salta quel passaggio. Incolla il comando cURL così com'è, con le continuazioni di riga in backslash incluse, e ottieni un unico documento XML ben formato che descrive l'intera richiesta: metodo, URL, parametri di query, header, autenticazione e body.
Il parser capisce le flag che usi davvero nel quotidiano — -X per il metodo, -H per ogni header, -d/--data per il body, -u per la basic auth, -b per i cookie, e le continuazioni backslash + newline che curl(1) usa per comandi multi-riga leggibili. Argomenti con apici singoli e doppi sono entrambi gestiti, e le query string delle URL vengono separate in un proprio blocco <QueryParams> così vedi ogni parametro sulla sua riga.
Se la richiesta porta un body JSON, viene incorporato come elemento <Body> annidato — ogni campo del payload JSON diventa un proprio elemento XML, mantenendo la forma (gli oggetti si annidano, gli array si ripetono). I body form-urlencoded vengono spezzati in coppie chiave/valore. Qualsiasi cosa cURL non riconosca — un --compressed ogni tanto, un -k, o una flag che hai passato — finisce raccolta in un blocco <Options> così niente sparisce in silenzio. Il risultato è un documento XML che puoi dare in pasto a un client SOAP, committare come fixture di test o incollare in documentazione.
Come usarlo
Tre passi. Funziona uguale sia che il cURL sia una riga sola o venti righe con continuazioni di backslash.
Incolla il cURL (o prova l'esempio)
Butta il tuo comando cURL nell'editor di sinistra. Lascia le continuazioni \ dove sono, tieni gli apici singoli intorno al body, non togliere flag. Clicca Carica esempio se vuoi vedere prima un caso HTTP realistico.
Chrome, Firefox e Safari hanno tutti un'opzione "Copy as cURL" / "Copy as cURL (bash)" nel pannello Network — quell'output si incolla pulito. Anche "Code snippets → cURL" di Postman funziona.
Premi Converti
Clicca il pulsante verde Converti. Lo strumento fa il parsing del comando, tira fuori metodo, URL, query string, header, autenticazione e body, e costruisce l'XML in un colpo solo. Vedrai un breve indicatore di caricamento mentre gira.
Copia l'XML
Il pannello di destra si riempie con XML indentato e ben formato che qualsiasi strumento consapevole di HTTP o parser XML conforme agli standard accetterà. Copialo dritto in una richiesta SOAP, una fixture di test o la doc della tua API.
Quando serve davvero
Generare un envelope SOAP da una registrazione DevTools
Hai registrato una chiamata REST nel browser, ma il fornitore a valle parla ancora SOAP. Incolla il cURL e usa l'XML risultante come punto di partenza per il body dell'envelope — metodo, URL e forma del payload sono già a posto.
Fixture di test per strumenti XML-first
SoapUI, ReadyAPI e i kit di test enterprise più vecchi vogliono file XML in input. Converti una volta un cURL che funziona in XML e committalo come fixture, invece di mantenere a mano due formati paralleli.
Integrazioni con vendor enterprise legacy
Le API dei partner che ancora girano su WSDL/SOAP o gateway XML non accettano script cURL. Passare loro una richiesta XML che possono caricare direttamente dalla loro parte ti risparmia un giro di "cosa si aspetta esattamente il tuo endpoint".
Documentazione API e snippet
Vuoi che il tuo README mostri la stessa richiesta in due forme — cURL per gli sviluppatori, XML per il team ops che revisiona il traffico. Genera l'XML dal cURL una volta e tienili sincronizzati.
Domande frequenti
Quali flag cURL sono supportate?
Quelle comuni: -X/--request per il metodo HTTP, -H/--header per ogni header (ripetila quante volte vuoi), -d/--data/--data-raw/--data-binary per il body della richiesta, -u/--user per la basic auth, e -b/--cookie per i cookie. La reference completa delle flag è su curl.se/docs/manpage.html se vuoi controllare qualcosa.
Gestisce le continuazioni multi-riga con backslash?
Sì. La \ a fine riga seguita da un newline viene trattata come continuazione — esattamente come la vedono bash e cURL. Incolla il comando così com'è uscito dai DevTools o dalla history del tuo terminale. Non devi unirlo in una riga sola prima.
Cosa succede a un body JSON di richiesta?
Un body JSON (content-type application/json o anche solo un payload -d '{...}' che fa il parsing come JSON) viene incorporato come XML annidato dentro un elemento <Body> — ogni campo diventa un proprio elemento, gli oggetti si annidano e gli array si ripetono. La grammatica JSON segue la RFC 8259, e la forma è preservata uno-a-uno nell'output XML.
E i body URL-encoded o form?
Un body application/x-www-form-urlencoded (es. -d 'user=ava&pwd=x') viene spezzato in singoli elementi chiave/valore dentro <Body>. I parametri della query string sull'URL stessa vengono tirati fuori in un elemento <QueryParams> separato così vedi ogni parametro chiaramente. I body multipart (-F) sono rappresentati come un elemento per parte col nome del campo e il suo valore.
Posso incollare l'output di "Copy as cURL" di Chrome o Firefox?
Sì — è proprio il caso d'uso principale. "Copy as cURL (bash)" di Chrome, "Copy as cURL" di Firefox e "Copy as cURL" di Safari si incollano tutti puliti. Il parser ignora le differenze di stile degli apici. Funziona anche l'output dello snippet cURL di Postman.
E se il mio cURL ha una flag che il parser non riconosce?
Flag sconosciute o esotiche (--compressed, -k, --resolve, long flag custom) vengono raccolte in un blocco <Options> alla fine dell'XML invece di essere buttate via. In questo modo vedi esattamente cosa c'era nel comando originale e decidi come rappresentarlo dal lato ricevente.
Altri strumenti che potrebbero servirti
cURL in XML è un pezzo del puzzle. Questi strumenti ci stanno bene insieme: