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
Öppna DevTools
Tryck på F12 eller Ctrl+Shift+I för att öppna webbläsarens utvecklarverktyg.
- 2
Gå till fliken Network
Klicka på fliken Network och utför åtgärden som utlöser HTTP-begäran.
- 3
Kopiera som cURL
Högerklicka på begäran → Copy → Copy 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.