Konvertera curl till OCaml

Konvertera curl-kommandon till OCaml-kod med Cohttp. curl2code körs helt i din webbläsare via WebAssembly — din data förblir privat. För Rust, prova vår curl till Rust-konverterare. För Elixir, se curl till Elixir. Nedan finns färdiga OCaml-exempel.

Hur man kopierar curl från din webbläsare

  1. 1

    Öppna DevTools

    Tryck på F12 eller Ctrl+Shift+I för att öppna webbläsarens utvecklarverktyg.

  2. 2

    Gå till fliken Network

    Klicka på fliken Network och utför åtgärden som utlöser HTTP-begäran.

  3. 3

    Kopiera som cURL

    Högerklicka på begäran → CopyCopy as cURL. Klistra sedan in den ovan.

Vanliga frågor

Vad är OCaml Cohttp?

Cohttp är standardbiblioteket för HTTP-klienter och servrar i OCaml. Det stöder både Lwt (lättviktstrådar) och Async-backends för samtidig I/O. Installera med opam install cohttp-lwt-unix. Det erbjuder ett typsäkert, funktionellt API för HTTP-förfrågningar. curl2code använder Cohttp för alla OCaml-konverteringar.

Cohttp vs ocurl vs piaf — vilket ska man använda?

Cohttp är standardbiblioteket för HTTP i OCaml med stöd för Lwt/Async. ocurl wrappar libcurl, vilket ger tillgång till alla curl-funktioner från OCaml. piaf är nyare och har inbyggt stöd för HTTP/2. Använd Cohttp för idiomatisk OCaml, och ocurl när du behöver curl-specifika funktioner. För liknande funktionella språk, se curl till Elixir eller curl till Clojure.

Hur hanterar man autentisering i OCaml?

Lägg till en Authorization-header i förfrågan: Header.add headers "Authorization" ("Bearer " ^ token). För Basic auth, base64-koda inloggningsuppgifterna med paketet base64. Cohttp-headers är oföränderliga (immutable) — bygg dem med Header.of_list eller kedja Header.add-anrop.

Hur skickar man multipart-formulärdata i OCaml?

Konstruera multipart-body manuellt med boundary-strängar, eller använd ett bibliotek som multipart_form. Ställ in Content-Type-headern med boundary. Cohttp:s body är en enkel sträng eller ström — formatera multipart-payloaden enligt RFC 2046. curl2code hanterar konvertering av -F-flaggor.

Hur hanterar man fel i HTTP-förfrågningar i OCaml?

Cohttp med Lwt returnerar promises — använd Lwt.catch eller try%lwt ... with-syntax för felhantering. Kontrollera svarsstatuskoden med Response.status response. OCamls typsystem säkerställer att du hanterar felfall. Använd mönstermatchning på statuskoder för uttömmande hantering.

Hur gör man samtidiga HTTP-förfrågningar i OCaml?

Med Lwt-backend: använd Lwt.all [request1; request2] för parallell exekvering eller Lwt_list.map_p för att mappa över URL:er. Med Async: använd Deferred.all. OCamls kooperativa samtidighet genom Lwt eller Async ger säker och effektiv samtidig I/O utan problem med trådsäkerhet.

Hur ställer man in timeouts i OCaml?

Med Lwt, använd Lwt.pick [request; Lwt_unix.sleep timeout >>= fun () -> Lwt.fail Timeout] för att låta en förfrågan tävla mot en timer. Cohttp har inga inbyggda timeout-alternativ — wrappa Lwt-promiset med en timeout-kombinator. För retries, implementera en rekursiv funktion med minskande antal försök.

Hur använder man en proxy i OCaml?

Cohttp har inte inbyggt stöd för proxy. Använd ocurl (libcurl-bindningar) för proxybehov: ställ in alternativet CURLOPT_PROXY. Alternativt, ställ in miljövariabeln HTTP_PROXY och konfigurera anslutningen för att manuellt dirigera genom proxyns värd och port.

Hur skickar man en POST förfrågan med JSON body i OCaml?

Konvertera ett curl POST kommando som curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL till OCaml med curl2code. Den genererade koden använder Client.post ~body:(Cohttp_lwt.Body.of_string json) uri. curl2code detekterar automatiskt -d/--data flaggor med JSON innehåll och ställer in rätt Content-Type header i Cohttp kod.

Hur lägger man till Bearer token auktorisering i OCaml?

Skicka curl -H "Authorization: Bearer YOUR_TOKEN" URL till curl2code så genereras Cohttp kod med auth header: Header.add headers 'Authorization' 'Bearer YOUR_TOKEN'. curl2code detekterar Bearer tokens från både -H "Authorization: Bearer ..." och --oauth2-bearer flaggor. För Basic auth, använd -u user:pass.

Hur ställer man in Content-Type header i OCaml?

curl2code konverterar curl -H "Content-Type: application/json" URL till Cohttp kod med rätt header: Header.add headers 'Content-Type' 'application/json'. För -d data använder curl som standard application/x-www-form-urlencoded; för -F formuläruppladdningar används multipart/form-data. curl2code mappar varje del till rätt Cohttp API.

Användbara länkar

curl-guider

Konvertera curl till andra språk