Prevod curl do OCaml

Preveďte curl príkazy na OCaml kód pomocou Cohttp. curl2code beží úplne vo vašom prehliadači cez WebAssembly — vaše údaje zostávajú v súkromí. Pre Rust vyskúšajte náš prevodník curl do Rustu. Pre Elixir si pozrite curl do Elixiru. Nižšie sú OCaml príklady pripravené na použitie.

Ako skopírovať curl z vášho prehliadača

  1. 1

    Otvorte DevTools

    Stlačte F12 alebo Ctrl+Shift+I na otvorenie vývojárskych nástrojov prehliadača.

  2. 2

    Prejdite na kartu Network

    Kliknite na kartu Network a vykonajte akciu, ktorá spustí HTTP požiadavku.

  3. 3

    Skopírovať ako cURL

    Kliknite pravým tlačidlom na požiadavku → CopyCopy as cURL. Potom ju prilepte vyššie.

Často kladené otázky

Čo je OCaml Cohttp?

Cohttp je štandardná knižnica HTTP klienta a servera pre OCaml. Podporuje Lwt (ľahké vlákna) aj Async backendy pre konkurentné I/O. Inštaluje sa pomocou opam install cohttp-lwt-unix. Poskytuje typovo bezpečné, funkcionálne API pre HTTP požiadavky. curl2code používa Cohttp pre všetky OCaml konverzie.

Cohttp vs ocurl vs piaf — ktorú použiť?

Cohttp je štandardná knižnica OCaml HTTP s podporou Lwt/Async. ocurl obaluje libcurl, čím umožňuje prístup ku všetkým funkciám curl z OCaml. piaf je novšia, natívne podporujúca HTTP/2. Použite Cohttp pre idiomatický OCaml, ocurl, keď potrebujete funkcie špecifické pre curl. Pre podobné funkcionálne jazyky si pozrite curl do Elixir alebo curl do Clojure.

Ako riešiť autentifikáciu v OCaml?

Pridajte hlavičku Authorization do požiadavky: Header.add headers "Authorization" ("Bearer " ^ token). Pre Basic auth zakódujte prihlasovacie údaje do base64 pomocou balíka base64. Hlavičky Cohttp sú nemenné (immutable) — zostavte ich pomocou Header.of_list alebo reťazením volaní Header.add.

Ako posielať multipart form data v OCaml?

Zostavte multipart telo manuálne s boundary reťazcami alebo použite knižnicu ako multipart_form. Nastavte hlavičku Content-Type s boundary. Telo v Cohttp je jednoduchý reťazec alebo stream — naformátujte multipart payload podľa RFC 2046. curl2code spracováva konverziu prepínača -F.

Ako spracovávať chyby v HTTP požiadavkách OCaml?

Cohttp s Lwt vracia prísľuby (promises) — na spracovanie chýb použite syntax Lwt.catch alebo try%lwt ... with. Skontrolujte stavový kód odpovede pomocou Response.status response. Typový systém OCaml zaisťuje, že spracujete prípady zlyhania. Pre vyčerpávajúce spracovanie použite pattern matching na stavové kódy.

Ako vytvárať konkurentné HTTP požiadavky v OCaml?

S Lwt backendom: použite Lwt.all [request1; request2] pre paralelné vykonávanie alebo Lwt_list.map_p pre mapovanie cez URL. S Async: použite Deferred.all. Kooperatívna konkurentnosť OCaml prostredníctvom Lwt alebo Async poskytuje bezpečné a efektívne konkurentné I/O bez obáv o bezpečnosť vlákien.

Ako nastaviť timeouty v OCaml?

S Lwt použite Lwt.pick [request; Lwt_unix.sleep timeout >>= fun () -> Lwt.fail Timeout] na preteky požiadavky s časovačom. Cohttp nemá vstavané možnosti timeoutu — obalte Lwt prísľub kombinátorom timeoutu. Pre opakovanie (retries) implementujte rekurzívnu funkciu s klesajúcim počtom pokusov.

Ako používať proxy v OCaml?

Cohttp nemá vstavanú podporu proxy. Pre potreby proxy použite ocurl (väzby na libcurl): nastavte voľbu CURLOPT_PROXY. Prípadne nastavte premennú prostredia HTTP_PROXY a manuálne nakonfigurujte pripojenie na smerovanie cez hostiteľa a port proxy.

Ako poslať POST požiadavku s JSON telom v jazyku OCaml?

Preveďte curl POST príkaz ako curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL do jazyka OCaml pomocou curl2code. Vygenerovaný kód používa Client.post ~body:(Cohttp_lwt.Body.of_string json) uri. curl2code automaticky deteguje prepínače -d/--data s JSON obsahom a nastaví príslušnú hlavičku Content-Type v kóde pre Cohttp.

Ako pridať autorizáciu pomocou Bearer tokenu v jazyku OCaml?

Vložte curl -H "Authorization: Bearer YOUR_TOKEN" URL do curl2code a nástroj vygeneruje kód pre Cohttp s autorizačnou hlavičkou: Header.add headers 'Authorization' 'Bearer YOUR_TOKEN'. curl2code deteguje Bearer tokeny z prepínačov -H "Authorization: Bearer ..." aj --oauth2-bearer. Pre Basic auth použite -u user:pass.

Ako nastaviť hlavičku Content-Type v jazyku OCaml?

curl2code konvertuje curl -H "Content-Type: application/json" URL na kód pre Cohttp so správnou hlavičkou: Header.add headers 'Content-Type' 'application/json'. Pre dáta v -d curl predvolene používa application/x-www-form-urlencoded; pre nahrávanie formulárov cez -F používa multipart/form-data. curl2code mapuje každý z nich na správne API pre Cohttp.

Užitočné odkazy

Príručky pre curl

Prevod curl do iných jazykov