Konversi curl ke OCaml

Konversi perintah curl ke kode OCaml menggunakan Cohttp. curl2code berjalan sepenuhnya di peramban Anda melalui WebAssembly — data Anda tetap pribadi. Untuk Rust, coba konverter curl ke Rust kami. Untuk Elixir, lihat curl ke Elixir. Di bawah ini adalah contoh OCaml yang siap digunakan.

Cara menyalin curl dari peramban Anda

  1. 1

    Buka DevTools

    Tekan F12 atau Ctrl+Shift+I untuk membuka alat pengembang peramban Anda.

  2. 2

    Buka tab Network

    Klik tab Network dan lakukan tindakan yang memicu permintaan HTTP.

  3. 3

    Salin sebagai cURL

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

Pertanyaan yang Sering Diajukan

Apa itu OCaml Cohttp?

Cohttp adalah pustaka klien dan server HTTP standar untuk OCaml. Pustaka ini mendukung backend Lwt (utas ringan) dan Async untuk I/O konkuren. Instal dengan opam install cohttp-lwt-unix. Pustaka ini menyediakan API fungsional yang aman secara tipe (type-safe) untuk permintaan HTTP. curl2code menggunakan Cohttp untuk semua konversi OCaml.

Cohttp vs ocurl vs piaf — mana yang harus digunakan?

Cohttp adalah pustaka HTTP OCaml standar dengan dukungan Lwt/Async. ocurl membungkus libcurl, memberikan akses ke semua fitur curl dari OCaml. piaf lebih baru dan asli HTTP/2. Gunakan Cohttp untuk OCaml yang idiomatik, ocurl saat Anda membutuhkan fitur khusus curl. Untuk bahasa fungsional serupa, lihat curl ke Elixir atau curl ke Clojure.

Bagaimana cara menangani autentikasi di OCaml?

Tambahkan header Authorization ke permintaan: Header.add headers "Authorization" ("Bearer " ^ token). Untuk autentikasi Basic, enkode kredensial ke base64 menggunakan paket base64. Header Cohttp bersifat imutabel — buat header tersebut dengan Header.of_list atau rantai panggilan Header.add.

Bagaimana cara mengirim data formulir multipart di OCaml?

Konstruksikan badan multipart secara manual dengan string boundary, atau gunakan pustaka seperti multipart_form. Atur header Content-Type dengan boundary tersebut. Badan Cohttp adalah string atau stream sederhana — format payload multipart sesuai dengan RFC 2046. curl2code menangani konversi flag -F.

Bagaimana cara menangani kesalahan dalam permintaan HTTP OCaml?

Cohttp dengan Lwt mengembalikan promise — gunakan sintaks Lwt.catch atau try%lwt ... with untuk penanganan kesalahan. Periksa kode status respons dengan Response.status response. Sistem tipe OCaml memastikan Anda menangani kasus kegagalan. Gunakan pencocokan pola (pattern matching) pada kode status untuk penanganan yang menyeluruh.

Bagaimana cara membuat permintaan HTTP konkuren di OCaml?

Dengan backend Lwt: gunakan Lwt.all [request1; request2] untuk eksekusi paralel atau Lwt_list.map_p untuk pemetaan melalui URL. Dengan Async: gunakan Deferred.all. Konkurensi kooperatif OCaml melalui Lwt atau Async menyediakan I/O konkuren yang aman dan efisien tanpa masalah keamanan utas (thread safety).

Bagaimana cara mengatur timeout di OCaml?

Dengan Lwt, gunakan Lwt.pick [request; Lwt_unix.sleep timeout >>= fun () -> Lwt.fail Timeout] untuk mengadu permintaan dengan pengatur waktu. Cohttp tidak memiliki opsi timeout bawaan — bungkus promise Lwt dengan kombinator timeout. Untuk percobaan ulang (retry), terapkan fungsi rekursif dengan jumlah percobaan yang berkurang.

Bagaimana cara menggunakan proksi di OCaml?

Cohttp tidak memiliki dukungan proksi bawaan. Gunakan ocurl (binding libcurl) untuk kebutuhan proksi: atur opsi CURLOPT_PROXY. Alternatifnya, atur variabel lingkungan HTTP_PROXY dan konfigurasi koneksi untuk merutekan melalui host dan port proksi secara manual.

Bagaimana cara mengirim POST request dengan JSON body di OCaml?

Konversi perintah curl POST seperti curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL ke OCaml menggunakan curl2code. Kode yang dihasilkan menggunakan Client.post ~body:(Cohttp_lwt.Body.of_string json) uri. curl2code secara otomatis mendeteksi flag -d/--data dengan konten JSON dan mengatur header Content-Type yang sesuai dalam kode Cohttp.

Bagaimana cara menambahkan otorisasi Bearer token di OCaml?

Masukkan curl -H "Authorization: Bearer YOUR_TOKEN" URL ke curl2code dan alat ini akan menghasilkan kode Cohttp dengan header auth: Header.add headers 'Authorization' 'Bearer YOUR_TOKEN'. curl2code mendeteksi Bearer token dari flag -H "Authorization: Bearer ..." maupun --oauth2-bearer. Untuk Basic auth, gunakan -u user:pass.

Bagaimana cara mengatur header Content-Type di OCaml?

curl2code mengonversi curl -H "Content-Type: application/json" URL ke kode Cohttp dengan header yang tepat: Header.add headers 'Content-Type' 'application/json'. Untuk data -d, curl secara default menggunakan application/x-www-form-urlencoded; untuk unggahan formulir -F, curl menggunakan multipart/form-data. curl2code memetakan masing-masing ke API Cohttp yang benar.

Tautan Berguna

Panduan curl

Konversi curl ke Bahasa Lain