Használata
- Másoljon ki egy kérést curl-ként, például a böngésző fejlesztői eszközeiből (Hálózat fül, jobb kattintás, Másolás cURL-ként) vagy API-dokumentációból.
- Illessze be a mezőbe. A \ karakterrel történő sortörés megengedett.
- Válasszon a JavaScript fetch, Node.js axios, Python requests vagy PHP cURL közül.
- Olvassa el a kód alatti megjegyzéseket, majd másolja vagy töltse le az eredményt.
Hogyan működik
A konverter először a parancsot szavakra bontja úgy, ahogy egy POSIX shell teszi: az egyszeres idézőjelek, a visszafelé perjellel escapelt kettős idézőjelek, a $'...' sztringek és a visszafelé perjellel folytatott sorok felismerésre kerülnek. A shell változók, mint például a $TOKEN, nem kerülnek kibontásra; szövegként maradnak.
Támogatott curl opciók: az URL (vagy --url), -X/--request, -H/--header, -d/--data, --data-ascii, --data-raw, --data-binary, --data-urlencode, --json, -F/--form és --form-string (mezők és @file feltöltések ;type= paraméterrel), -u/--user, -G/--get, -I/--head, -A/--user-agent, -e/--referer, -b/--cookie (cookie sztringek), -L/--location és --compressed. A rövid opciók kombinálhatók, mint például a -sSL, és az értékek csatolhatók, mint például a -XPOST.
A szabályok a curl-t követik: több -d érték & jellel van összekapcsolva; az adat POST kérést hoz létre, hacsak a -X vagy -G másként nem rendelkezik; a -G az adatot lekérdezési sztringként fűzi az URL-hez; a --json beállítja a Content-Type és Accept fejléceket application/json értékre. Ha a törzs JSON és a Content-Type ezt jelzi, a kód valódi objektumot küld (Pythonban json=, PHP-ben tömb a json_encode segítségével) ahelyett, hogy escape-elt sztringet küldene. Multipart űrlapok esetén a Content-Type fejléc a könyvtárra van bízva, hogy a határoló helyes legyen.
A -k/--insecure szándékosan figyelmen kívül van hagyva, és egy megjegyzés elmagyarázza. Azok az opciók, amelyek csak a curl saját kimenetét változtatják meg (-s, -S, -v, -i, -o, --fail és hasonlók), szintén figyelmen kívül vannak hagyva egy megjegyzéssel. Bármely más opció egyértelmű hibát ad, megnevezve azt, ahelyett, hogy olyan kódot generálna, amely csendben másként működik. Egy különbség marad: a curl csak a -L kapcsolóval követi az átirányításokat, míg a fetch, az axios és a requests alapértelmezés szerint követik őket; a PHP kód csak akkor követi őket, ha a -L meg lett adva.
Az eszköz csak kódot ír. Soha nem küldi el a kérést, így a parancsban szereplő tokenek és jelszavak sehol nem kerülnek felhasználásra.
Példák
Böngészőből érkező kérés reprodukálása Pythonban
Másolj egy hibás API hívást a Chrome Network (Hálózat) füléről cURL formátumban, és konvertáld át Python requests kódra. A fejlécek, sütik és a JSON törzs átkerülnek, így reprodukálni tudod a hibát egy szkriptben.
API-dokumentáció használata Node.js-ben
Egy API referencia ezt mutatja: „curl -u key: https://api.example.com/v1/charges -d amount=2000 -d currency=eur”. Az axios verzió auth: { username: "key", password: "" } beállítást és űrlap-kódolású törzset használ.
Fájlfeltöltés PHP-ban
A „curl -F 'file=@invoice.pdf;type=application/pdf' -F 'note=March' https://x.io/upload” parancs CURLOPT_POSTFIELDS lesz, new CURLFile('invoice.pdf', 'application/pdf') elemmel és a note mezővel.
Gyakori kérdések
Ez az eszköz elküldi a kérésemet?
Nem. Az eszköz csak feldolgozza a parancs szövegét, és kódot ír. Nem küld kérést, így a parancsban szereplő API-kulcsok vagy sütik nem kerülnek felhasználásra vagy tárolásra.
Miért nincs átalakítva a -k/--insecure?
A tanúsítvány-ellenőrzés kikapcsolása sebezhetővé teszi a kapcsolatot a lehallgatással szemben. A generált kód bekapcsolva hagyja az ellenőrzéseket; ha egy szerver tanúsítványa nem megbízható, inkább javítsa a tanúsítványt vagy a megbízhatósági tárat.
Miért kapok „a kapcsoló nem támogatott” üzenetet?
Az átalakító csak azokat a kapcsolókat fordítja le, amelyek jelentését pontosan vissza tudja adni. A proxyk, ügyféltanúsítványok, cookie-tárolók és hasonló beállítások elutasításra kerülnek, hogy ne kapjon a curl-től eltérően viselkedő kódot.
Működik Windows cmd-parancsokkal?
A „cURL (bash)” formátumban másolt parancsok működnek a legjobban. A Windows cmd a ^ karaktert használja sortöréshez és eltérő idézést; a sor végén lévő ^ elfogadott, de más cmd-escape szekvenciák lehet, hogy nem.
Adatvédelem
A parancs feldolgozása kizárólag a böngészőjében történik, és nem kerül elküldésre kérés. Semmi sem kerül feltöltésre, tárolásra vagy bele az analitikába.