Muunna curl kielelle OCaml
Muunna curl-komennot OCaml-koodiksi käyttäen Cohttp-kirjastoa. curl2code toimii kokonaan selaimessasi WebAssemblyn kautta — tietosi pysyvät yksityisinä. Rustille, kokeile curl to Rust -muunnintamme. Elixirille, katso curl to Elixir. Alta löydät käyttövalmiita OCaml-esimerkkejä.
Kuinka kopioida curl selaimestasi
- 1
Avaa kehittäjätyökalut
Paina F12 tai Ctrl+Shift+I avataksesi selaimen kehittäjätyökalut.
- 2
Siirry Network-välilehdelle
Napsauta Network-välilehteä ja suorita toiminto, joka käynnistää HTTP-pyynnön.
- 3
Kopioi cURL-muodossa
Napsauta pyyntöä hiiren kakkospainikkeella → Copy → Copy as cURL. Liitä se sitten yläpuolelle.
Usein kysytyt kysymykset
Mikä on OCaml Cohttp?
Cohttp on standardi HTTP-asiakas- ja palvelinkirjasto OCamlille. Se tukee sekä Lwt- (kevyet säikeet) että Async-taustajärjestelmiä rinnakkaiseen I/O-toimintaan. Asenna komennolla opam install cohttp-lwt-unix. Se tarjoaa tyyppiturvallisen ja funktionaalisen API:n HTTP-pyyntöihin. curl2code käyttää Cohttp-kirjastoa kaikissa OCaml-muunnoksissa.
Cohttp vs ocurl vs piaf — mitä käyttää?
Cohttp on standardi OCaml HTTP-kirjasto Lwt/Async-tuella. ocurl käärii libcurlin, antaen pääsyn kaikkiin curlin ominaisuuksiin OCamlista. piaf on uudempi ja natiivisti HTTP/2-yhteensopiva. Käytä Cohttpia idiomaattiseen OCamliin ja ocurlia, kun tarvitset curl-kohtaisia ominaisuuksia. Katso vastaavat funktionaaliset kielet: curl Elixiriksi tai curl Clojureksi.
Miten hallita autentikointia OCamlissa?
Lisää Authorization-otsake pyyntöön: Header.add headers "Authorization" ("Bearer " ^ token). Basic-autentikointia varten koodaa tunnukset base64-muotoon base64-paketilla. Cohttp-otsakkeet ovat muuttumattomia — rakenna ne Header.of_list-funktiolla tai ketjuta Header.add-kutsuja.
Miten lähettää multipart-lomakedataa OCamlissa?
Rakenna multipart-runko manuaalisesti rajausmerkkijonoilla (boundary) tai käytä kirjastoa kuten multipart_form. Aseta Content-Type-otsake rajausmerkkijonon kanssa. Cohttp:n runko on yksinkertainen merkkijono tai virta — muotoile multipart-sisältö RFC 2046:n mukaisesti. curl2code käsittelee -F-lipun muunnokset.
Miten hallita virheitä OCaml HTTP-pyynnöissä?
Cohttp Lwt-taustajärjestelmällä palauttaa lupauksia (promises) — käytä Lwt.catch tai try%lwt ... with -syntaksia virheidenkäsittelyyn. Tarkista vastauksen tilakoodi funktiolla Response.status response. OCamlin tyyppijärjestelmä varmistaa, että käsittelet epäonnistumiset. Käytä pattern matchingia tilakoodeille kattavaa käsittelyä varten.
Miten tehdä rinnakkaisia HTTP-pyyntöjä OCamlissa?
Lwt-taustajärjestelmällä: käytä Lwt.all [request1; request2] rinnakkaiseen suoritukseen tai Lwt_list.map_p URL-osoitteiden läpikäyntiin. Asyncilla: käytä Deferred.all. OCamlin yhteistyöhön perustuva rinnakkaisuus Lwt:n tai Asyncin kautta tarjoaa turvallisen ja tehokkaan rinnakkaisen I/O:n ilman säieturvallisuusongelmia.
Miten asettaa aikakatkaisuja OCamlissa?
Lwt:n kanssa käytä Lwt.pick [request; Lwt_unix.sleep timeout >>= fun () -> Lwt.fail Timeout] kilpailuttamaan pyyntö ajastinta vastaan. Cohttp:ssa ei ole sisäänrakennettuja aikakatkaisuasetuksia — kääri Lwt-lupaus aikakatkaisukombinaattorilla. Toteuta uudelleenyritykset rekursiivisella funktiolla, joka vähentää yrityskertoja.
Miten käyttää välityspalvelinta (proxy) OCamlissa?
Cohttp:ssa ei ole sisäänrakennettua välityspalvelintukea. Käytä ocurl-kirjastoa (libcurl-sidokset) välityspalvelintarpeisiin: aseta CURLOPT_PROXY-optio. Vaihtoehtoisesti aseta HTTP_PROXY-ympäristömuuttuja ja määritä yhteys reitittymään manuaalisesti välityspalvelimen osoitteen ja portin kautta.
Miten lähetetään POST-pyyntö JSON-rungolla OCaml-kielellä?
Muunna curl POST -komento kuten curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL OCaml-koodiksi curl2code-työkalulla. Luotu koodi käyttää Client.post ~body:(Cohttp_lwt.Body.of_string json) uri. curl2code tunnistaa automaattisesti -d/--data-liput JSON-sisällöllä ja asettaa oikean Content-Type-otsikon Cohttp-koodiin.
Miten lisätään Bearer-token-valtuutus OCaml-kielellä?
Syötä curl -H "Authorization: Bearer YOUR_TOKEN" URL curl2code-työkaluun, ja se luo Cohttp-koodin valtuutusotsikolla: Header.add headers 'Authorization' 'Bearer YOUR_TOKEN'. curl2code tunnistaa Bearer-tokenit sekä -H "Authorization: Bearer ..."- että --oauth2-bearer-lipuista. Käytä Basic auth -valtuutukseen -u user:pass.
Miten asetetaan Content-Type-otsikko OCaml-kielellä?
curl2code muuntaa curl -H "Content-Type: application/json" URL Cohttp-koodiksi oikealla otsikolla: Header.add headers 'Content-Type' 'application/json'. -d-datalle curl käyttää oletuksena application/x-www-form-urlencoded; -F-lomakelatauksille se käyttää multipart/form-data. curl2code yhdistää kunkin oikeaan Cohttp API -kutsuun.
Hyödyllisiä linkkejä
curl-oppaat
curl-virhekoodit
Hae mikä tahansa curl-paluukoodi — syyt, korjaukset ja virheenkorjausvinkit.
Tiedostojen lataaminen curlilla
Tallenna tiedostoja -o, -O -lipuilla, seuraa uudelleenohjauksia, jatka latauksia ja paljon muuta.
SSL, TLS ja välityspalvelin
Määritä varmenteet, TLS-versiot, HTTP/SOCKS-välityspalvelimet ja mukautettu DNS.