curl konvertálása OCaml nyelvre
Konvertálja a curl parancsokat OCaml kóddá a Cohttp használatával. A curl2code teljes egészében a böngészőben fut WebAssembly segítségével — az adatai privátak maradnak. Rust esetén próbálja ki a curl to Rust konverterünket. Elixir esetén lásd: curl to Elixir. Alább azonnal használható OCaml példákat talál.
Hogyan másoljuk ki a curl parancsot a böngészőből
- 1
Nyissa meg a DevTools-t
Nyomja meg az F12 billentyűt vagy a Ctrl+Shift+I a böngésző fejlesztői eszközeinek megnyitásához.
- 2
Lépjen a Network fülre
Kattintson a Network fülre, és hajtsa végre a HTTP kérést kiváltó műveletet.
- 3
Másolás cURL-ként
Kattintson a jobb gombbal a kérésre → Copy → Copy as cURL. Ezután illessze be fent.
Gyakran Ismételt Kérdések
Mi az az OCaml Cohttp?
A Cohttp a szabványos HTTP kliens és szerver könyvtár OCaml-hez. Támogatja mind az Lwt (könnyűsúlyú szálak), mind az Async backendeket a konkurrens I/O műveletekhez. Telepíthető az opam install cohttp-lwt-unix paranccsal. Típusbiztos, funkcionális API-t biztosít a HTTP kérésekhez. A curl2code a Cohttp-t használja minden OCaml konverzióhoz.
Cohttp vs ocurl vs piaf — melyiket használjam?
A Cohttp a szabványos OCaml HTTP könyvtár Lwt/Async támogatással. Az ocurl a libcurl-t csomagolja be, hozzáférést biztosítva az összes curl funkcióhoz OCaml-ből. A piaf egy újabb, natív HTTP/2 támogatással rendelkező könyvtár. Használja a Cohttp-t az idiomatikus OCaml kódhoz, az ocurl-t pedig akkor, ha curl-specifikus funkciókra van szüksége. Hasonló funkcionális nyelvekért lásd: curl-ről Elixir-re vagy curl-ről Clojure-re.
Hogyan kezelhető a hitelesítés OCaml-ben?
Adjon hozzá egy Authorization fejlécet a kéréshez: Header.add headers "Authorization" ("Bearer " ^ token). Basic auth esetén kódolja a hitelesítő adatokat base64 formátumba a base64 csomaggal. A Cohttp fejlécek immutábilisak — hozza létre őket a Header.of_list segítségével, vagy láncolja a Header.add hívásokat.
Hogyan küldhető multipart form adat OCaml-ben?
Építse fel a multipart törzset manuálisan boundary karakterláncokkal, vagy használjon egy olyan könyvtárat, mint a multipart_form. Állítsa be a Content-Type fejlécet a boundary megadásával. A Cohttp törzse egy egyszerű string vagy stream — formázza a multipart payloadot az RFC 2046 szerint. A curl2code kezeli a -F flag konverzióját.
Hogyan kezelhetők a hibák az OCaml HTTP kérések során?
A Cohttp Lwt-vel ígéreteket (promises) ad vissza — használja az Lwt.catch vagy a try%lwt ... with szintaxist a hibakezeléshez. Ellenőrizze a válasz állapotkódját a Response.status response segítségével. Az OCaml típusrendszere biztosítja a hibaesetek kezelését. Használjon mintaillesztést (pattern matching) az állapotkódokon a teljes körű kezeléshez.
Hogyan készíthetők konkurrens HTTP kérések OCaml-ben?
Lwt backenddel: használja az Lwt.all [request1; request2] függvényt a párhuzamos végrehajtáshoz, vagy az Lwt_list.map_p függvényt az URL-ek leképezéséhez. Async esetén: használja a Deferred.all függvényt. Az OCaml kooperatív párhuzamossága az Lwt vagy Async révén biztonságos és hatékony konkurrens I/O-t tesz lehetővé szálbiztonsági aggályok nélkül.
Hogyan állíthatók be időtúllépések OCaml-ben?
Lwt használatával az Lwt.pick [request; Lwt_unix.sleep timeout >>= fun () -> Lwt.fail Timeout] segítségével versenyeztetheti a kérést egy időzítővel. A Cohttp nem rendelkezik beépített időtúllépési opciókkal — csomagolja be az Lwt ígéretet egy timeout kombinátorral. Újrapróbálkozásokhoz implementáljon egy rekurzív függvényt csökkenő kísérletszámmal.
Hogyan használható proxy OCaml-ben?
A Cohttp nem rendelkezik beépített proxy támogatással. Használja az ocurl-t (libcurl kötések) proxy igényekhez: állítsa be a CURLOPT_PROXY opciót. Alternatív megoldásként állítsa be a HTTP_PROXY környezeti változót, és konfigurálja manuálisan a kapcsolatot a proxy hoszton és porton keresztül.
Hogyan küldhető POST kérés JSON törzzsel OCaml nyelven?
Konvertáljon egy olyan curl POST parancsot, mint a curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL, OCaml kódra a curl2code segítségével. A generált kód a Client.post ~body:(Cohttp_lwt.Body.of_string json) uri megoldást használja. A curl2code automatikusan felismeri a JSON tartalmú -d/--data flageket, és beállítja a megfelelő Content-Type fejlécet a Cohttp kódban.
Hogyan adható hozzá Bearer token hitelesítés OCaml nyelven?
Adja át a curl -H "Authorization: Bearer YOUR_TOKEN" URL parancsot a curl2code eszköznek, és az legenerálja a Cohttp kódot az auth fejléccel: Header.add headers 'Authorization' 'Bearer YOUR_TOKEN'. A curl2code felismeri a Bearer tokeneket a -H "Authorization: Bearer ..." és a --oauth2-bearer flagekből is. Basic auth esetén használja a -u user:pass kapcsolót.
Hogyan állítható be a Content-Type fejléc OCaml nyelven?
A curl2code a curl -H "Content-Type: application/json" URL parancsot a megfelelő fejléccel ellátott Cohttp kódra konvertálja: Header.add headers 'Content-Type' 'application/json'. A -d adatoknál a curl alapértelmezés szerint az application/x-www-form-urlencoded értéket használja; a -F űrlapfeltöltéseknél pedig a multipart/form-data értéket. A curl2code mindegyiket a megfelelő Cohttp API-hoz rendeli.
Hasznos linkek
curl útmutatók
curl hibakódok
Keress rá bármely curl kilépési kódra — okok, javítások és hibakeresési tippek.
Fájlok letöltése curl segítségével
Fájlok mentése -o és -O kapcsolókkal, átirányítások követése, letöltés folytatása és egyebek.
SSL, TLS és proxy
Tanúsítványok, TLS verziók, HTTP/SOCKS proxyk és egyéni DNS beállítása.