Tukar curl ke OCaml

Tukar arahan curl kepada kod OCaml menggunakan Cohttp. curl2code berjalan sepenuhnya dalam pelayar anda melalui WebAssembly — data anda kekal peribadi. Untuk Rust, cuba penukar curl ke Rust kami. Untuk Elixir, lihat curl ke Elixir. Di bawah adalah contoh OCaml yang sedia untuk digunakan.

Cara menyalin curl daripada pelayar anda

  1. 1

    Buka DevTools

    Tekan F12 atau Ctrl+Shift+I untuk membuka alat pembangun pelayar anda.

  2. 2

    Pergi ke tab Network

    Klik tab Network dan lakukan tindakan yang mencetuskan permintaan HTTP.

  3. 3

    Salin sebagai cURL

    Klik kanan pada permintaan → CopyCopy as cURL. Kemudian tampalkannya di atas.

Soalan Lazim

Apakah itu OCaml Cohttp?

Cohttp ialah perpustakaan klien dan pelayan HTTP standard untuk OCaml. Ia menyokong kedua-dua backend Lwt (benang ringan) dan Async untuk I/O serentak. Pasang dengan opam install cohttp-lwt-unix. Ia menyediakan API fungsional yang selamat dari segi jenis (type-safe) untuk permintaan HTTP. curl2code menggunakan Cohttp untuk semua penukaran OCaml.

Cohttp vs ocurl vs piaf — yang mana satu harus digunakan?

Cohttp ialah perpustakaan HTTP OCaml standard dengan sokongan Lwt/Async. ocurl membungkus libcurl, memberikan akses kepada semua ciri curl daripada OCaml. piaf adalah lebih baharu dan asli HTTP/2. Gunakan Cohttp untuk OCaml yang idiomatik, ocurl apabila anda memerlukan ciri khusus curl. Untuk bahasa fungsional yang serupa, lihat curl ke Elixir atau curl ke Clojure.

Bagaimana cara mengendalikan pengesahan dalam OCaml?

Tambah pengepala Authorization pada permintaan: Header.add headers "Authorization" ("Bearer " ^ token). Untuk pengesahan Basic, kodkan kelayakan dalam base64 menggunakan pakej base64. Pengepala Cohttp adalah tidak boleh ubah (immutable) — binanya dengan Header.of_list atau rantaikan panggilan Header.add.

Bagaimana cara menghantar data borang multipart dalam OCaml?

Bina badan multipart secara manual dengan rentetan sempadan (boundary), atau gunakan perpustakaan seperti multipart_form. Tetapkan pengepala Content-Type dengan sempadan tersebut. Badan Cohttp ialah rentetan atau aliran mudah — formatkan muatan multipart mengikut RFC 2046. curl2code mengendalikan penukaran bendera -F.

Bagaimana cara mengendalikan ralat dalam permintaan HTTP OCaml?

Cohttp dengan Lwt mengembalikan janji (promises) — gunakan sintaks Lwt.catch atau try%lwt ... with untuk pengendalian ralat. Semak kod status respons dengan Response.status response. Sistem jenis OCaml memastikan anda mengendalikan kes kegagalan. Gunakan pemadanan corak (pattern matching) pada kod status untuk pengendalian yang menyeluruh.

Bagaimana cara membuat permintaan HTTP serentak dalam OCaml?

Dengan backend Lwt: gunakan Lwt.all [request1; request2] untuk pelaksanaan selari atau Lwt_list.map_p untuk pemetaan ke atas URL. Dengan Async: gunakan Deferred.all. Keserentakan koperasi OCaml melalui Lwt atau Async menyediakan I/O serentak yang selamat dan cekap tanpa kebimbangan keselamatan benang (thread safety).

Bagaimana cara menetapkan had masa (timeouts) dalam OCaml?

Dengan Lwt, gunakan Lwt.pick [request; Lwt_unix.sleep timeout >>= fun () -> Lwt.fail Timeout] untuk melumbakan permintaan berbanding pemasa. Cohttp tidak mempunyai pilihan had masa terbina dalam — bungkus janji Lwt dengan kombinator had masa. Untuk percubaan semula, laksanakan fungsi rekursif dengan percubaan yang berkurangan.

Bagaimana cara menggunakan proksi dalam OCaml?

Cohttp tidak mempunyai sokongan proksi terbina dalam. Gunakan ocurl (ikatan libcurl) untuk keperluan proksi: tetapkan pilihan CURLOPT_PROXY. Sebagai alternatif, tetapkan pemboleh ubah persekitaran HTTP_PROXY dan konfigurasikan sambungan untuk menghala melalui hos dan port proksi secara manual.

Bagaimana cara menghantar permintaan POST dengan badan JSON dalam OCaml?

Tukar perintah curl POST seperti curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL ke OCaml menggunakan curl2code. Kod yang dihasilkan menggunakan Client.post ~body:(Cohttp_lwt.Body.of_string json) uri. curl2code mengesan bendera -d/--data secara automatik dengan kandungan JSON dan menetapkan pengepala Content-Type yang sesuai dalam kod Cohttp.

Bagaimana cara menambah kebenaran token Bearer dalam OCaml?

Masukkan curl -H "Authorization: Bearer YOUR_TOKEN" URL ke curl2code dan ia akan menghasilkan kod Cohttp dengan pengepala auth: Header.add headers 'Authorization' 'Bearer YOUR_TOKEN'. curl2code mengesan token Bearer daripada kedua-dua bendera -H "Authorization: Bearer ..." dan --oauth2-bearer. Untuk Basic auth, gunakan -u user:pass.

Bagaimana cara menetapkan pengepala Content-Type dalam OCaml?

curl2code menukar curl -H "Content-Type: application/json" URL kepada kod Cohttp dengan pengepala yang betul: Header.add headers 'Content-Type' 'application/json'. Untuk data -d, curl secara lalai menggunakan application/x-www-form-urlencoded; untuk muat naik borang -F, ia menggunakan multipart/form-data. curl2code memetakan setiap satu ke API Cohttp yang betul.

Pautan Berguna

Panduan curl

Tukar curl ke Bahasa Lain