Converteer curl naar OCaml

Converteer curl-opdrachten naar OCaml-code met Cohttp. curl2code wordt volledig in je browser uitgevoerd via WebAssembly — je gegevens blijven privé. Voor Rust, probeer onze curl naar Rust-converter. Voor Elixir, zie curl naar Elixir. Hieronder staan kant-en-klare OCaml-voorbeelden.

Hoe je curl kopieert vanuit je browser

  1. 1

    Open Ontwikkelaarstools

    Druk op F12 of Ctrl+Shift+I om de ontwikkelaarstools van je browser te openen.

  2. 2

    Ga naar het tabblad Netwerk

    Klik op het tabblad Netwerk en voer de actie uit die het HTTP-verzoek activeert.

  3. 3

    Kopiëren als cURL

    Klik met de rechtermuisknop op het verzoek → KopiërenKopiëren als cURL. Plak het vervolgens hierboven.

Veelgestelde vragen

Wat is OCaml Cohttp?

Cohttp is de standaard HTTP-client- en serverbibliotheek voor OCaml. Het ondersteunt zowel Lwt (lightweight threads) als Async backends voor gelijktijdige I/O. Installeer met opam install cohttp-lwt-unix. Het biedt een type-veilige, functionele API voor HTTP-verzoeken. curl2code gebruikt Cohttp voor alle OCaml-conversies.

Cohttp vs ocurl vs piaf — welke moet ik gebruiken?

Cohttp is de standaard OCaml HTTP-bibliotheek met Lwt/Async-ondersteuning. ocurl is een wrapper rond libcurl, die toegang geeft tot alle curl-functies vanuit OCaml. piaf is nieuwer en HTTP/2-native. Gebruik Cohttp voor idiomatisch OCaml, ocurl wanneer je curl-specifieke functies nodig hebt. Voor vergelijkbare functionele talen, zie curl naar Elixir of curl naar Clojure.

Hoe ga je om met authenticatie in OCaml?

Voeg een Authorization-header toe aan het verzoek: Header.add headers "Authorization" ("Bearer " ^ token). Voor Basic auth, base64-encodeer inloggegevens met het base64 pakket. Cohttp-headers zijn onveranderlijk — bouw ze met Header.of_list of koppel Header.add aanroepen.

Hoe verstuur je multipart form-data in OCaml?

Construeer de multipart body handmatig met boundary-strings, of gebruik een bibliotheek zoals multipart_form. Stel de Content-Type header in met de boundary. De body van Cohttp is een simpele string of stream — formatteer de multipart payload volgens RFC 2046. curl2code handelt de conversie van de -F vlag af.

Hoe ga je om met fouten in OCaml HTTP-verzoeken?

Cohttp met Lwt retourneert promises — gebruik Lwt.catch of de try%lwt ... with syntaxis voor foutafhandeling. Controleer de responstatuscode met Response.status response. Het typesysteem van OCaml zorgt ervoor dat je foutgevallen afhandelt. Gebruik pattern matching op statuscodes voor een uitputtende afhandeling.

Hoe maak je gelijktijdige HTTP-verzoeken in OCaml?

Met de Lwt-backend: gebruik Lwt.all [request1; request2] voor parallelle uitvoering of Lwt_list.map_p voor het mappen over URL's. Met Async: gebruik Deferred.all. OCaml's coöperatieve gelijktijdigheid via Lwt of Async biedt veilige, efficiënte gelijktijdige I/O zonder zorgen over thread-safety.

Hoe stel je timeouts in in OCaml?

Gebruik met Lwt Lwt.pick [request; Lwt_unix.sleep timeout >>= fun () -> Lwt.fail Timeout] om een verzoek te laten racen tegen een timer. Cohttp heeft geen ingebouwde timeout-opties — wikkel de Lwt-promise in een timeout-combinator. Voor retries implementeer je een recursieve functie met afnemende pogingen.

Hoe gebruik je een proxy in OCaml?

Cohttp heeft geen ingebouwde proxy-ondersteuning. Gebruik ocurl (libcurl-bindings) voor proxy-behoeften: stel de CURLOPT_PROXY optie in. Alternatief kun je de HTTP_PROXY omgevingsvariabele instellen en de verbinding handmatig configureren om via de proxy-host en -poort te routeren.

Hoe verstuur je een POST-verzoek met een JSON body in OCaml?

Converteer een curl POST-commando zoals curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL naar OCaml met curl2code. De gegenereerde code gebruikt Client.post ~body:(Cohttp_lwt.Body.of_string json) uri. curl2code detecteert automatisch -d/--data flags met JSON-inhoud en stelt de juiste Content-Type header in de Cohttp code in.

Hoe voeg je Bearer token autorisatie toe in OCaml?

Geef curl -H "Authorization: Bearer YOUR_TOKEN" URL door aan curl2code en het genereert Cohttp code met de auth header: Header.add headers 'Authorization' 'Bearer YOUR_TOKEN'. curl2code detecteert Bearer tokens van zowel -H "Authorization: Bearer ..." als --oauth2-bearer flags. Gebruik voor Basic auth -u user:pass.

Hoe stel je de Content-Type header in in OCaml?

curl2code converteert curl -H "Content-Type: application/json" URL naar Cohttp code met de juiste header: Header.add headers 'Content-Type' 'application/json'. Voor -d data gebruikt curl standaard application/x-www-form-urlencoded; voor -F formulier-uploads wordt multipart/form-data gebruikt. curl2code koppelt elk type aan de juiste Cohttp API.

Handige links

curl handleidingen

Converteer curl naar andere talen