cURL naar XML Converter
Plak een cURL-commando. Krijg nette XML terug.
Wat deze tool doet
Als je ooit een HTTP-call in Chrome DevTools hebt opgenomen, op "Copy as cURL" hebt geklikt en daarna diezelfde request moest versturen naar een SOAP-leverancier of een XML-first testharnas, ken je het riedeltje — je zit daar handmatig headers en de JSON-body om te bouwen naar XML-elementen. Deze tool slaat dat over. Plak het cURL-commando zoals het is, inclusief backslash-regeloverloop en alles, en je krijgt één well-formed XML-document terug dat de hele request beschrijft: method, URL, query params, headers, auth en body.
De parser begrijpt de flags die je dagelijks echt gebruikt — -X voor de method, -H voor elke header, -d/--data voor de body, -u voor basic auth, -b voor cookies, en de backslash-newline-overloop die curl(1) gebruikt voor leesbare multi-line commando's. Zowel enkele als dubbele aanhalingstekens worden afgehandeld, en URL-query strings worden eruit gehaald in een eigen <QueryParams>-blok zodat je elke parameter op een eigen regel ziet.
Als de request een JSON-body heeft, wordt die ingebed als een genest <Body>-element — elk veld uit de JSON-payload wordt zijn eigen XML-element, met behoud van de vorm (objecten nesten, arrays herhalen). Form-urlencoded bodies worden uit elkaar gehaald in key/value-paren. Alles wat cURL niet herkent — een af en toe een --compressed, -k, of een flag die je hebt meegegeven — wordt verzameld in een <Options>-blok zodat niets stilletjes wordt weggegooid. Het resultaat is een XML-document dat je in een SOAP-client kunt stoppen, als test-fixture kunt committen of in documentatie kunt plakken.
Hoe je het gebruikt
Drie stappen. Werkt hetzelfde of de cURL één regel is of twintig regels met backslash-overloop.
Plak de cURL (of probeer het voorbeeld)
Zet je cURL-commando in de linker editor. Laat de \-regeloverloop staan, houd de enkele quotes rond de body, haal geen flags weg. Klik op Voorbeeld laden als je eerst een realistisch HTTP-voorbeeld wilt zien.
Chrome, Firefox en Safari hebben allemaal een "Copy as cURL" / "Copy as cURL (bash)"-optie in het Network-paneel — die output plakt netjes. Postman heeft ook "Code snippets → cURL" wat werkt.
Klik op Converteren
Klik op de groene Converteren-knop. De tool parseert het commando, haalt method, URL, query string, headers, auth en body eruit en bouwt de XML in één keer op. Tijdens het draaien zie je kort een laad-indicator.
Kopieer de XML
Het rechter paneel vult zich met ingesprongen, well-formed XML die elke HTTP-bewuste tool of standaardconforme XML-parser accepteert. Kopieer hem zo naar een SOAP-request, een test-fixture of je API-docs.
Wanneer dit echt van pas komt
SOAP-envelope genereren uit een DevTools-opname
Je hebt een REST-call opgenomen in de browser, maar de downstream-leverancier spreekt nog SOAP. Plak de cURL en gebruik de resulterende XML als startpunt voor de envelope-body — method, URL en payload-vorm liggen al klaar.
Test-fixtures voor XML-first tools
SoapUI, ReadyAPI en oudere enterprise-testkits willen XML-invoerbestanden. Zet een werkende cURL één keer om naar XML en commit die als fixture in plaats van twee parallelle formaten handmatig bij te houden.
Integraties met legacy enterprise-leveranciers
Partner-API's die nog op WSDL/SOAP of XML-gateways draaien, nemen geen cURL-scripts aan. Als je ze een XML-request overhandigt die ze direct aan hun kant kunnen laden, scheelt dat een heen-en-weer van "wat verwacht jouw endpoint eigenlijk".
API-documentatie en snippets
Je wil dat je README dezelfde request in twee vormen toont — cURL voor ontwikkelaars, XML voor het ops-team dat verkeer reviewt. Genereer de XML één keer vanuit de cURL en houd ze gesynchroniseerd.
Veelgestelde vragen
Welke cURL-flags worden ondersteund?
De gebruikelijke: -X/--request voor de HTTP-method, -H/--header voor elke header (herhaal zo vaak als je wilt), -d/--data/--data-raw/--data-binary voor de request-body, -u/--user voor basic auth, en -b/--cookie voor cookies. De volledige flag-referentie staat op curl.se/docs/manpage.html als je iets wil opzoeken.
Gaat het om met multi-line backslash-overloop?
Ja. De \ aan het einde van een regel gevolgd door een newline wordt als regeloverloop behandeld — precies zoals bash en cURL dat zien. Plak het commando zoals het uit DevTools of je terminal-history kwam. Je hoeft het niet eerst op één regel te zetten.
Wat gebeurt er met een JSON-request-body?
Een JSON-body (content-type application/json of gewoon een -d '{...}'-payload die als JSON parseert) wordt ingebed als geneste XML binnen een <Body>-element — elk veld wordt zijn eigen element, objecten nesten en arrays herhalen. De JSON-grammatica volgt RFC 8259, en de vorm blijft één-op-één bewaard in de XML-output.
Hoe zit het met URL-encoded of form-bodies?
Een application/x-www-form-urlencoded-body (bijv. -d 'user=ava&pwd=x') wordt uit elkaar gehaald in losse key/value-elementen binnen <Body>. Query-string-parameters op de URL zelf worden eruit gehaald naar een apart <QueryParams>-element zodat je elke parameter duidelijk ziet. Multipart-bodies (-F) worden weergegeven als één element per onderdeel met de veldnaam en zijn waarde.
Kan ik de output van "Copy as cURL" uit Chrome of Firefox plakken?
Ja — dat is juist het hoofd-use-case. Chrome's "Copy as cURL (bash)", Firefox' "Copy as cURL" en Safari's "Copy as cURL" plakken allemaal netjes. De parser negeert verschillen in quoting-stijl. Ook Postman's cURL-code-snippet-output werkt.
Wat als mijn cURL een flag heeft die de parser niet herkent?
Onbekende of exotische flags (--compressed, -k, --resolve, eigen long flags) worden verzameld in een <Options>-blok aan het eind van de XML in plaats van op de vloer te vallen. Zo zie je precies wat er in het oorspronkelijke commando stond en bepaal je zelf hoe je het aan de ontvangende kant weergeeft.
Andere tools die je misschien nodig hebt
cURL naar XML is één puzzelstukje. Deze tools passen er goed bij: