Füge links einen cURL-Befehl ein und klicke "Konvertieren" — wir machen XML darauscURL-Befehl einfügen

Was dieses Tool macht

Wenn du jemals einen HTTP-Call in den Chrome DevTools aufgezeichnet, "Copy as cURL" geklickt und dann denselben Request an einen SOAP-Anbieter oder ein XML-zentriertes Testharness schicken musstest, kennst du das Spiel — du sitzt da und baust Header und JSON-Body von Hand in XML-Elemente um. Dieses Tool überspringt das. Füge den cURL-Befehl so ein wie er ist, inklusive Backslash-Zeilenfortsetzungen, und du bekommst ein einziges wohlgeformtes XML-Dokument, das den ganzen Request beschreibt: Methode, URL, Query-Parameter, Header, Auth und Body.

Der Parser versteht die Flags, die du im Alltag wirklich benutzt — -X für die Methode, -H für jeden Header, -d/--data für den Body, -u für Basic Auth, -b für Cookies und die Backslash-Newline-Fortsetzungen, die curl(1) für lesbare mehrzeilige Befehle nutzt. Argumente in einfachen und doppelten Anführungszeichen werden beide verarbeitet, und URL-Query-Strings werden in einen eigenen <QueryParams>-Block herausgezogen, sodass du jeden Parameter in einer eigenen Zeile siehst.

Wenn der Request einen JSON-Body mitbringt, wird er als verschachteltes <Body>-Element eingebettet — jedes Feld aus dem JSON-Payload wird zu einem eigenen XML-Element, die Struktur bleibt erhalten (Objekte verschachteln, Arrays wiederholen). Form-urlencoded Bodies werden in Key/Value-Paare aufgebrochen. Alles, was cURL nicht erkennt — ein gelegentliches --compressed, -k, oder eine Flag, die du mitgegeben hast — landet in einem <Options>-Block, damit nichts stillschweigend verschluckt wird. Das Ergebnis ist ein XML-Dokument, das du in einen SOAP-Client kippen, als Test-Fixture commiten oder in Doku einfügen kannst.

So benutzt du es

Drei Schritte. Funktioniert gleich, egal ob der cURL eine Zeile oder zwanzig Zeilen mit Backslash-Fortsetzungen hat.

1

cURL einfügen (oder das Beispiel ausprobieren)

Wirf deinen cURL-Befehl in den linken Editor. Lass die \-Zeilenfortsetzungen, wo sie sind, behalte die einfachen Anführungszeichen um den Body, entferne keine Flags. Klicke Beispiel laden, wenn du zuerst ein realistisches HTTP-Beispiel sehen willst.

Chrome, Firefox und Safari haben alle eine "Copy as cURL" / "Copy as cURL (bash)"-Option im Network-Panel — die Ausgabe lässt sich sauber einfügen. Postman hat auch "Code snippets → cURL", das funktioniert ebenfalls.

2

Konvertieren klicken

Klicke den grünen Konvertieren-Button. Das Tool parst den Befehl, zieht Methode, URL, Query-String, Header, Auth und Body heraus und baut das XML in einem Rutsch. Während es läuft, siehst du einen kurzen Lade-Indikator.

3

XML kopieren

Das rechte Panel füllt sich mit eingerücktem, wohlgeformtem XML, das jedes HTTP-bewusste Tool oder standardkonformer XML-Parser akzeptiert. Kopiere es direkt in einen SOAP-Request, eine Test-Fixture oder deine API-Doku.

Wann das wirklich hilft

SOAP-Envelope aus einer DevTools-Aufzeichnung erzeugen

Du hast einen REST-Call im Browser aufgezeichnet, aber der Downstream-Anbieter spricht noch SOAP. Füge den cURL ein und nutze das resultierende XML als Ausgangspunkt für den Envelope-Body — Methode, URL und Payload-Struktur liegen schon da.

Test-Fixtures für XML-zentrierte Tools

SoapUI, ReadyAPI und ältere Enterprise-Testkits wollen XML-Eingabedateien. Konvertiere einen funktionierenden cURL einmal in XML und commite ihn als Fixture, statt zwei parallele Formate von Hand zu pflegen.

Integrationen mit Legacy-Enterprise-Anbietern

Partner-APIs, die noch auf WSDL/SOAP oder XML-Gateways laufen, nehmen keine cURL-Skripte an. Wenn du ihnen einen XML-Request gibst, den sie direkt auf ihrer Seite laden können, spart das einen Rückfrage-Zyklus à la "was erwartet dein Endpoint denn eigentlich".

API-Doku und Snippets

Du willst, dass dein README denselben Request in zwei Formen zeigt — cURL für Entwickler, XML für das Ops-Team, das den Traffic reviewt. Generiere das XML einmal aus dem cURL und halte beide synchron.

Häufige Fragen

Welche cURL-Flags werden unterstützt?

Die üblichen: -X/--request für die HTTP-Methode, -H/--header für jeden Header (so oft wiederholen wie du willst), -d/--data/--data-raw/--data-binary für den Request-Body, -u/--user für Basic Auth und -b/--cookie für Cookies. Die komplette Flag-Referenz findest du auf curl.se/docs/manpage.html, falls du etwas nachschlagen willst.

Kommt es mit mehrzeiligen Backslash-Fortsetzungen zurecht?

Ja. Der \ am Zeilenende gefolgt von einem Newline wird als Zeilenfortsetzung behandelt — genau so, wie bash und cURL das sehen. Füge den Befehl so ein, wie er aus den DevTools oder deiner Terminal-History gekommen ist. Du musst ihn nicht vorher in eine Zeile zusammenziehen.

Was passiert mit einem JSON-Request-Body?

Ein JSON-Body (Content-Type application/json oder einfach ein -d '{...}'-Payload, der als JSON parst) wird als verschachteltes XML innerhalb eines <Body>-Elements eingebettet — jedes Feld wird zu einem eigenen Element, Objekte verschachteln, Arrays wiederholen. Die JSON-Grammatik folgt RFC 8259, und die Struktur bleibt eins-zu-eins in der XML-Ausgabe erhalten.

Was ist mit URL-encoded- oder Form-Bodies?

Ein application/x-www-form-urlencoded-Body (z. B. -d 'user=ava&pwd=x') wird in einzelne Key/Value-Elemente innerhalb von <Body> aufgebrochen. Query-String-Parameter auf der URL selbst werden in ein separates <QueryParams>-Element herausgezogen, damit du jeden Parameter klar sehen kannst. Multipart-Bodies (-F) werden als ein Element pro Teil mit Feldname und Wert dargestellt.

Kann ich die Ausgabe von "Copy as cURL" aus Chrome oder Firefox einfügen?

Ja — genau das ist der Hauptanwendungsfall. Chromes "Copy as cURL (bash)", Firefox' "Copy as cURL" und Safaris "Copy as cURL" lassen sich alle sauber einfügen. Der Parser ignoriert die Unterschiede im Quoting-Stil. Auch Postmans cURL-Code-Snippet-Ausgabe funktioniert.

Was, wenn mein cURL eine Flag hat, die der Parser nicht kennt?

Unbekannte oder exotische Flags (--compressed, -k, --resolve, eigene Long-Flags) werden in einen <Options>-Block am Ende des XML gesammelt, statt unter den Tisch zu fallen. So siehst du genau, was im Originalbefehl stand, und kannst entscheiden, wie du es auf der Empfängerseite abbildest.

Andere Tools, die du brauchen könntest

cURL zu XML ist nur ein Puzzleteil. Diese Tools passen gut dazu: