Konverter curl til OCaml

Konverter curl-kommandoer til OCaml-kode ved hjælp af Cohttp. curl2code kører udelukkende i din browser via WebAssembly — dine data forbliver private. For Rust, prøv vores curl til Rust-konverter. For Elixir, se curl til Elixir. Nedenfor er OCaml-eksempler, der er klar til brug.

Sådan kopierer du curl fra din browser

  1. 1

    Åbn DevTools

    Tryk på F12 eller Ctrl+Shift+I for at åbne din browsers udviklerværktøjer.

  2. 2

    Gå til fanen Network

    Klik på fanen Network og udfør den handling, der udløser HTTP-anmodningen.

  3. 3

    Kopier som cURL

    Højreklik på anmodningen → CopyCopy as cURL. Indsæt den derefter ovenfor.

Ofte stillede spørgsmål

Hvad er OCaml Cohttp?

Cohttp er standard HTTP-klient- og serverbiblioteket til OCaml. Det understøtter både Lwt (letvægtstråde) og Async-backends til konkurrent I/O. Installer med opam install cohttp-lwt-unix. Det giver et typesikkert, funktionelt API til HTTP-anmodninger. curl2code bruger Cohttp til alle OCaml-konverteringer.

Cohttp vs ocurl vs piaf — hvilken skal man bruge?

Cohttp er standard OCaml HTTP-biblioteket med Lwt/Async-understøttelse. ocurl wrapper libcurl, hvilket giver adgang til alle curl-funktioner fra OCaml. piaf er nyere og HTTP/2-native. Brug Cohttp til idiomatisk OCaml, og ocurl når du har brug for curl-specifikke funktioner. For lignende funktionelle sprog, se curl til Elixir eller curl til Clojure.

Hvordan håndteres autentificering i OCaml?

Tilføj en Authorization-header til anmodningen: Header.add headers "Authorization" ("Bearer " ^ token). For Basic auth skal du base64-encode legitimationsoplysninger ved hjælp af base64-pakken. Cohttp-headere er uforanderlige (immutable) — byg dem med Header.of_list eller kæd Header.add-kald.

Hvordan sender man multipart form-data i OCaml?

Konstruer multipart-bodyen manuelt med boundary-strenge, eller brug et bibliotek som multipart_form. Indstil Content-Type-headeren med boundary. Cohttp's body er en simpel streng eller stream — formater multipart-payloaden i henhold til RFC 2046. curl2code håndterer -F flag-konvertering.

Hvordan håndteres fejl i OCaml HTTP-anmodninger?

Cohttp med Lwt returnerer promises — brug Lwt.catch eller try%lwt ... with syntaks til fejlhåndtering. Tjek svarstatuskoden med Response.status response. OCamls typesystem sikrer, at du håndterer fejlscenarier. Brug pattern matching på statuskoder for udtømmende håndtering.

Hvordan laver man konkurrente HTTP-anmodninger i OCaml?

Med Lwt-backend: brug Lwt.all [request1; request2] til parallel eksekvering eller Lwt_list.map_p til mapping over URL'er. Med Async: brug Deferred.all. OCamls kooperative konkurrens gennem Lwt eller Async giver sikker, effektiv konkurrent I/O uden bekymringer om trådsikkerhed.

Hvordan indstiller man timeouts i OCaml?

Med Lwt kan du bruge Lwt.pick [request; Lwt_unix.sleep timeout >>= fun () -> Lwt.fail Timeout] for at køre en anmodning mod en timer. Cohttp har ikke indbyggede timeout-indstillinger — wrap Lwt-promiset med en timeout-kombinator. For genforsøg (retries) skal du implementere en rekursiv funktion med faldende antal forsøg.

Hvordan bruger man en proxy i OCaml?

Cohttp har ikke indbygget proxy-understøttelse. Brug ocurl (libcurl-bindings) til proxy-behov: indstil CURLOPT_PROXY-indstillingen. Alternativt kan du indstille HTTP_PROXY-miljøvariablen og konfigurere forbindelsen til at rute gennem proxy-hosten og porten manuelt.

Hvordan sender man en POST-anmodning med JSON-body i OCaml?

Konverter en curl POST-kommando som curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL til OCaml ved hjælp af curl2code. Den genererede kode bruger Client.post ~body:(Cohttp_lwt.Body.of_string json) uri. curl2code registrerer automatisk -d/--data-flag med JSON-indhold og indstiller den relevante Content-Type-header i Cohttp-koden.

Hvordan tilføjer man Bearer token-autorisation i OCaml?

Send curl -H "Authorization: Bearer YOUR_TOKEN" URL til curl2code, og den genererer Cohttp-kode med auth-headeren: Header.add headers 'Authorization' 'Bearer YOUR_TOKEN'. curl2code registrerer Bearer-tokens fra både -H "Authorization: Bearer ..." og --oauth2-bearer-flag. Til Basic auth skal du bruge -u user:pass.

Hvordan indstiller man Content-Type-headeren i OCaml?

curl2code konverterer curl -H "Content-Type: application/json" URL til Cohttp-kode med den korrekte header: Header.add headers 'Content-Type' 'application/json'. For -d-data bruger curl som standard application/x-www-form-urlencoded; for -F-formular-uploads bruges multipart/form-data. curl2code mapper hver af disse til den korrekte Cohttp API.

Nyttige links

curl-guider

Konverter curl til andre sprog