Konversi curl ke Elixir

Konversi perintah curl ke kode Elixir menggunakan HTTPoison. curl2code berjalan sepenuhnya di peramban Anda melalui WebAssembly — data Anda tetap pribadi. Untuk Ruby, coba konverter curl ke Ruby kami. Untuk Go, lihat curl ke Go. Di bawah ini adalah contoh Elixir 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 Elixir HTTPoison?

HTTPoison adalah HTTP client paling populer untuk Elixir, dibangun di atas library Erlang hackney. Library ini menyediakan API fungsional yang bersih untuk GET, POST, streaming, dan permintaan async. Tambahkan ke deps mix.exs: {:httpoison, "~> 2.0"}. curl2code menggunakan HTTPoison sebagai default untuk konversi Elixir.

HTTPoison vs Req vs Tesla vs Finch — mana yang harus digunakan?

HTTPoison adalah yang paling mapan dan banyak digunakan. Req lebih baru, sudah termasuk fitur seperti percobaan ulang dan autentikasi. Tesla menawarkan arsitektur middleware seperti Faraday. Finch adalah level rendah, berperforma tinggi untuk penggunaan produksi. Untuk pendekatan fungsional serupa, lihat curl ke Clojure atau curl ke Ruby.

Bagaimana cara menangani autentikasi di Elixir?

Berikan header sebagai daftar tuple string: HTTPoison.get(url, [{"Authorization", "Bearer token"}]). Untuk Basic auth, encode user:pass dengan Base.encode64/1 dan tambahkan awalan "Basic " pada nilainya. Lakukan pattern match pada respons untuk {:ok, response} atau {:error, reason}. curl2code mengonversi flag -H dan -u ke Elixir idiomatik.

Bagaimana cara mengirim data formulir multipart di Elixir?

Gunakan {:multipart, parts} sebagai body: HTTPoison.post(url, {:multipart, [{:file, path, {"form-data", [{"name", "file"}, {"filename", "doc.pdf"}]}, []}]}). Untuk field formulir sederhana, tambahkan tuple {"key", "value"}. curl2code menangani flag -F untuk multipart HTTPoison.

Bagaimana cara menangani kesalahan dalam permintaan HTTP Elixir?

HTTPoison mengembalikan tuple bertanda: {:ok, response} atau {:error, reason}. Lakukan pattern matching dengan case atau with: case HTTPoison.get(url) do {:ok, %{status_code: 200}'} -> ... ; {:error, %{reason: reason}'} -> ... end. Ini adalah Elixir yang idiomatis — penanganan kesalahan yang eksplisit dan menyeluruh tanpa pengecualian.

Bagaimana cara membuat permintaan HTTP konkuren di Elixir?

Gunakan Task.async/1 dan Task.await/1: tasks = urls |> Enum.map(&Task.async(fn -> HTTPoison.get(&1) end)) kemudian results = tasks |> Enum.map(&Task.await/1). BEAM VM Elixir menangani ribuan proses konkuren secara efisien. Untuk konkurensi serupa, lihat curl ke Go.

Bagaimana cara mengatur timeout di Elixir?

Berikan opsi ke HTTPoison: HTTPoison.get(url, [], [timeout: 30_000, recv_timeout: 30_000]). timeout adalah timeout koneksi, recv_timeout adalah timeout respons (keduanya dalam milidetik). Untuk percobaan ulang, bungkus dalam fungsi rekursif dengan pengurangan upaya atau gunakan fitur percobaan ulang bawaan library Req.

Bagaimana cara menggunakan proxy di Elixir?

Berikan opsi proxy ke HTTPoison: HTTPoison.get(url, [], [proxy: {"proxy.host", 8080}]). Untuk proxy terautentikasi, gunakan proxy_auth: {"user", "pass"}. HTTPoison juga mendukung proxy SOCKS5 melalui library hackney yang mendasarinya. curl2code mengonversi flag -x ke konfigurasi proxy Elixir.

Bagaimana cara mengirim POST request dengan JSON body di Elixir?

Konversi perintah curl POST seperti curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL ke Elixir menggunakan curl2code. Kode yang dihasilkan menggunakan HTTPoison.post(url, Jason.encode!(body), [{'Content-Type', 'application/json'}]). curl2code secara otomatis mendeteksi flag -d/--data dengan konten JSON dan mengatur header Content-Type yang sesuai dalam kode HTTPoison.

Bagaimana cara menambahkan otorisasi Bearer token di Elixir?

Masukkan curl -H "Authorization: Bearer YOUR_TOKEN" URL ke curl2code dan alat ini akan menghasilkan kode HTTPoison dengan header auth: [{'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 Elixir?

curl2code mengonversi curl -H "Content-Type: application/json" URL ke kode HTTPoison dengan header yang tepat: [{'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 HTTPoison yang benar.

Tautan Berguna

Panduan curl

Konversi curl ke Bahasa Lain