Konversi curl ke Clojure
curl2code mengonversi perintah curl ke kode Clojure menggunakan clj-http. Konversi berjalan di peramban Anda melalui WebAssembly untuk privasi lengkap. Untuk Elixir, lihat konverter curl ke Elixir kami. Untuk Java, lihat curl ke Java. Di bawah ini adalah contoh Clojure praktis.
Cara menyalin curl dari peramban Anda
- 1
Buka DevTools
Tekan F12 atau Ctrl+Shift+I untuk membuka alat pengembang peramban Anda.
- 2
Buka tab Network
Klik tab Network dan lakukan tindakan yang memicu permintaan HTTP.
- 3
Salin sebagai cURL
Klik kanan pada permintaan → Copy → Copy as cURL. Kemudian tempelkan di atas.
Pertanyaan yang Sering Diajukan
Apa itu clj-http?
clj-http adalah library HTTP client paling populer untuk Clojure, membungkus Apache HttpComponents. Library ini menyediakan API idiomatis berbasis data dengan penguraian JSON/EDN otomatis, manajemen cookie, dan pooling koneksi. Tambahkan ke project.clj: [clj-http "3.x"]. curl2code menggunakan clj-http untuk semua konversi Clojure.
clj-http vs http-kit vs aleph — mana yang harus digunakan?
clj-http bersifat sinkron, kaya fitur, dan paling banyak digunakan. http-kit ringan dengan dukungan async, bagus untuk server yang juga melakukan panggilan HTTP. aleph dibangun di atas Netty untuk I/O async berperforma tinggi. Untuk bahasa fungsional serupa, lihat konverter curl ke Elixir atau curl ke OCaml kami.
Bagaimana cara menangani autentikasi di Clojure?
Untuk autentikasi Bearer, tambahkan header: (client/get url {:headers {"Authorization" "Bearer token"}'}). Untuk autentikasi Basic, gunakan opsi bawaan: {:basic-auth ["user" "pass"]}. clj-http juga mendukung OAuth dan autentikasi digest. curl2code mengonversi flag -u dan header ke map Clojure yang idiomatis.
Bagaimana cara mengirim data formulir multipart di Clojure?
Gunakan opsi :multipart: (client/post url {:multipart [{:name "file" :content (clojure.java.io/file "doc.pdf")} {:name "desc" :content "My file"}]}). clj-http menangani pembuatan boundary dan Content-Type secara otomatis. curl2code mengonversi flag -F ke pola Clojure ini.
Bagaimana cara menangani kesalahan HTTP di Clojure?
Secara default, clj-http melempar ExceptionInfo pada respons non-2xx. Nonaktifkan dengan {:throw-exceptions false} untuk mendapatkan map respons sebagai gantinya. Periksa (:status response). Gunakan try/catch dengan ex-data untuk mengekstrak respons dari pengecualian.
Bagaimana cara membuat permintaan HTTP async di Clojure?
Gunakan clj-http dengan {:async? true} yang mengembalikan future. Atau gunakan http-kit: (http/get url callback). Untuk permintaan paralel, gunakan pmap atau channel core.async. Future Clojure berjalan pada thread pool JVM. Untuk konkurensi serupa, lihat curl ke Java.
Bagaimana cara mengatur timeout di Clojure?
Berikan opsi timeout: (client/get url {:connection-timeout 10000 :socket-timeout 30000}). Nilai dalam milidetik. Untuk percobaan ulang, gunakan opsi :retry-handler atau bungkus dalam fungsi percobaan ulang kustom dengan exponential backoff. Ini dipetakan ke --connect-timeout dan --max-time milik curl.
Bagaimana cara menggunakan proxy di Clojure?
Atur proxy dalam map opsi: (client/get url {:proxy-host "proxy" :proxy-port 8080}). Untuk proxy terautentikasi: tambahkan :proxy-user dan :proxy-pass. clj-http juga mendukung proxy SOCKS. curl2code mengonversi flag -x dan --proxy ke opsi proxy Clojure yang benar.
Bagaimana cara mengirim POST request dengan JSON body di Clojure?
Konversi perintah curl POST seperti curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL ke Clojure menggunakan curl2code. Kode yang dihasilkan menggunakan (client/post url {:content-type :json :body (json/generate-string data)}). curl2code secara otomatis mendeteksi flag -d/--data dengan konten JSON dan mengatur header Content-Type yang sesuai dalam kode clj-http.
Bagaimana cara menambahkan otorisasi Bearer token di Clojure?
Masukkan curl -H "Authorization: Bearer YOUR_TOKEN" URL ke curl2code dan alat ini akan menghasilkan kode clj-http dengan header auth: :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 Clojure?
curl2code mengonversi curl -H "Content-Type: application/json" URL ke kode clj-http dengan header yang tepat: :content-type :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 clj-http yang benar.