Sådan bruger du det
- Kopier en forespørgsel som curl, for eksempel fra browserens udviklerværktøjer (fanen Netværk, højreklik, Kopier som cURL) eller fra API-dokumentation.
- Indsæt den i feltet. Linjefortsættelser med \ er i orden.
- Vælg JavaScript fetch, Node.js axios, Python requests eller PHP cURL.
- Læs eventuelle bemærkninger under koden, og kopier eller download derefter resultatet.
Sådan fungerer det
Konverteren opdeler først kommandoen i ord, som en POSIX-skal gør: enkelte anførselstegn, dobbelte anførselstegn med backslash-escapes, $'…'-strenge og backslash-linje fortsættelser forstås. Shell-variabler som $TOKEN udvides ikke; de forbliver tekst.
Understøttede curl-indstillinger: URL'en (eller --url), -X/--request, -H/--header, -d/--data, --data-ascii, --data-raw, --data-binary, --data-urlencode, --json, -F/--form og --form-string (felter og @fil-uploads med ;type=), -u/--user, -G/--get, -I/--head, -A/--user-agent, -e/--referer, -b/--cookie (cookie-strenge), -L/--location og --compressed. Korte indstillinger kan kombineres, som i -sSL, og værdier kan vedhæftes, som i -XPOST.
Reglerne følger curl: flere -d-værdier forbindes med &; data gør anmodningen til en POST, medmindre -X eller -G siger andet; -G tilføjer dataene til URL'en som en forespørgselsstreng; --json sætter Content-Type- og Accept-headere til application/json. Når brødteksten er JSON, og Content-Type angiver det, sender koden et rigtigt objekt (json= i Python, et array med json_encode i PHP) i stedet for en escaped streng. For multipart-formularer overlades Content-Type-headeren til biblioteket, så grænsen er korrekt.
-k/--insecure ignoreres med vilje, og en note forklarer det. Indstillinger, der kun ændrer curls egen output (-s, -S, -v, -i, -o, --fail og lignende), ignoreres med en note. Enhver anden indstilling giver en klar fejl, der nævner den, frem for kode, der stille og roligt gør noget andet. Én forskel består: curl følger omdirigeringer kun med -L, mens fetch, axios og requests følger dem som standard; PHP-koden følger dem kun, når -L er angivet.
Værktøjet skriver kun kode. Det sender aldrig anmodningen, så tokens og adgangskoder i kommandoen bruges ikke nogen steder.
Eksempler
Reproducering af en browseranmodning i Python
Kopier et fejlende API-kald fra Chromes Netværk-fane som cURL, og konverter det til Python requests. Headere, cookies og JSON-brødtekst følger med, så du kan reproducere fejlen i et script.
Brug af API-dokumentation i Node.js
En API-reference viser “curl -u key: https://api.example.com/v1/charges -d amount=2000 -d currency=eur”. Axios-versionen bruger auth: { username: "key", password: "" } og en formular-kodet brødtekst.
Filupload i PHP
“curl -F 'file=@invoice.pdf;type=application/pdf' -F 'note=March' https://x.io/upload” bliver til CURLOPT_POSTFIELDS med new CURLFile('invoice.pdf', 'application/pdf') og note-feltet.
Ofte stillede spørgsmål
Sender dette værktøj min anmodning?
Nej. Det parser kun kommandoteksten og skriver kode. Der foretages ingen anmodning, så API-nøgler eller cookies i kommandoen ikke bruges eller gemmes.
Hvorfor konverteres -k/--insecure ikke?
At slå certifikatkontrollen fra gør forbindelsen åben for aflytning. Den genererede kode beholder kontrollen slået til; hvis et servercertifikat ikke er betroet, skal du rette certifikatet eller trust store i stedet.
Hvorfor får jeg “option is not supported”?
Konvertereren oversætter kun de optioner, hvis betydning den kan gengive nøjagtigt. Proxyer, klientcertifikater, cookie jar-filer og lignende optioner afvises, så du ikke får kode, der opfører sig anderledes end curl.
Virker det med Windows cmd-kommandoer?
Kommandoer, der kopieres som “cURL (bash)”, fungerer bedst. Windows cmd bruger ^ til linjefortsættelse og andre regler for anførselstegn; ^ i slutningen af linjer accepteres, men andre cmd-escape-tegn bliver muligvis ikke accepteret.
Privatliv
Kommandoen fortolkes kun i din browser, og der sendes ingen forespørgsel. Intet uploades, gemmes eller indgår i analyser.