Lim inn en cURL-kommando til venstre og klikk "Konverter" — vi gjør den om til XMLLim inn en cURL-kommando

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.

1

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å.

2

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.

3

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: