cURL til XML-konverterer
Lim inn en cURL-kommando. Få ren XML tilbake.
Hva verktøyet gjør
Har du noen gang tatt opp et HTTP-kall i Chrome DevTools, trykket "Copy as cURL" og så trengt å sende den samme requesten til en SOAP-leverandør eller et XML-first testharness, kjenner du øvelsen — du sitter der og bygger om headere og JSON-body til XML-elementer for hånd. Dette verktøyet hopper over det. Lim inn cURL-kommandoen som den er, inkludert backslash-linjefortsettelser, og du får ett well-formed XML-dokument som beskriver hele requesten: method, URL, query-parametre, headere, auth og body.
Parseren forstår flaggene du faktisk bruker til daglig — -X for method, -H for hver header, -d/--data for body, -u for basic auth, -b for cookies og backslash-newline-fortsettelsene som curl(1) bruker for lesbare flerlinjekommandoer. Argumenter i både enkelt- og dobbelt-fnutt håndteres, og URL-query strings trekkes ut i sin egen <QueryParams>-blokk så du ser hver parameter på sin egen linje.
Har requesten en JSON-body, bygges den inn som et nestet <Body>-element — hvert felt i JSON-payloaden blir sitt eget XML-element, og formen bevares (objekter nestes, arrays gjentas). Form-urlencoded bodies brytes ned i nøkkel/verdi-par. Alt cURL ikke gjenkjenner — en sjelden --compressed, -k eller et flagg du sendte med — samles i en <Options>-blokk så ingenting stille forsvinner. Resultatet er et XML-dokument du kan mate en SOAP-klient, committe som test-fixture eller lime inn i dokumentasjon.
Slik bruker du det
Tre steg. Funker likt enten cURL:en er én linje eller tjue linjer med backslash-fortsettelser.
Lim inn cURL:en (eller prøv eksempelet)
Slipp cURL-kommandoen din inn i venstre editor. La \-linjefortsettelsene stå, behold enkeltfnuttene rundt body:en, og fjern ingen flagg. Klikk Last inn eksempel hvis du først vil se et realistisk HTTP-eksempel.
Chrome, Firefox og Safari har alle en "Copy as cURL" / "Copy as cURL (bash)"-option i Network-panelet — den outputen limes pent inn. Postmans "Code snippets → cURL" funker også.
Trykk Konverter
Klikk den grønne Konverter-knappen. Verktøyet parser kommandoen, henter ut method, URL, query string, headere, auth og body, og bygger XML:en i én jafs. Du ser en kort lasteindikator mens det kjører.
Kopier XML:en
Høyre panel fylles med innrykket, well-formed XML som ethvert HTTP-bevisst verktøy eller standardkompatibel XML-parser vil godta. Kopier rett inn i en SOAP-request, en test-fixture eller API-dokumentasjonen din.
Når dette faktisk er til hjelp
SOAP-envelope fra et DevTools-opptak
Du tok opp et REST-kall i nettleseren, men leverandøren nedstrøms snakker fortsatt SOAP. Lim inn cURL:en og bruk den resulterende XML:en som startpunkt for envelope-body — method, URL og payload-form er allerede på plass.
Test-fixtures for XML-first-verktøy
SoapUI, ReadyAPI og eldre enterprise-testkits vil ha XML-input-filer. Konverter en fungerende cURL til XML én gang og commit den som fixture i stedet for å vedlikeholde to parallelle formater for hånd.
Integrasjoner med legacy enterprise-leverandører
Partner-API-er som fortsatt kjører på WSDL/SOAP eller XML-gatewayer godtar ikke cURL-skript. Å rekke dem en XML-request de kan laste rett inn på sin side sparer en runde med "hva forventer egentlig endpointen deres".
API-dokumentasjon og snippets
Du vil at README skal vise samme request i to former — cURL for utviklere, XML for ops-teamet som gjennomgår trafikk. Generer XML:en fra cURL:en én gang, og hold dem synkronisert.
Vanlige spørsmål
Hvilke cURL-flagg støttes?
De vanlige: -X/--request for HTTP-method, -H/--header for hver header (gjenta så mange ganger du vil), -d/--data/--data-raw/--data-binary for request-body, -u/--user for basic auth og -b/--cookie for cookies. Full flagg-referanse ligger på curl.se/docs/manpage.html hvis du vil slå opp noe.
Håndterer det flerlinje backslash-fortsettelser?
Ja. \ på slutten av en linje fulgt av en newline behandles som linjefortsettelse — akkurat slik bash og cURL ser det. Lim inn kommandoen som den kom ut av DevTools eller terminal-historikken. Du trenger ikke å slå den sammen til én linje først.
Hva skjer med en JSON-request-body?
En JSON-body (content-type application/json eller bare en -d '{...}'-payload som parser som JSON) bygges inn som nestet XML inne i et <Body>-element — hvert felt blir sitt eget element, objekter nestes og arrays gjentas. JSON-grammatikken følger RFC 8259, og formen bevares én-til-én i XML-outputen.
Hva med URL-encoded eller form-bodies?
En application/x-www-form-urlencoded-body (f.eks. -d 'user=ava&pwd=x') brytes ned i individuelle nøkkel/verdi-elementer inne i <Body>. Query-string-parametre på selve URL:en trekkes ut i et eget <QueryParams>-element så du ser hver parameter tydelig. Multipart-bodies (-F) representeres som ett element per del med feltnavn og verdi.
Kan jeg lime inn output fra "Copy as cURL" i Chrome eller Firefox?
Ja — det er selve hoved-use-caset. Chromes "Copy as cURL (bash)", Firefox "Copy as cURL" og Safaris "Copy as cURL" limes alle pent inn. Parseren ignorerer forskjeller i fnutt-stil. Postmans cURL-kodesnippet-output funker også.
Hva om cURL:en min har et flagg parseren ikke kjenner igjen?
Ukjente eller eksotiske flagg (--compressed, -k, --resolve, egne long flags) samles i en <Options>-blokk på slutten av XML:en i stedet for å forsvinne i gulvet. På den måten ser du nøyaktig hva som var i den opprinnelige kommandoen, og bestemmer selv hvordan det skal representeres på mottakersiden.
Andre verktøy du kan trenge
cURL til XML er én puslespillbrikke. Disse verktøyene passer godt sammen med det: