Tukar curl ke Elixir

Tukar arahan curl kepada kod Elixir menggunakan HTTPoison. curl2code berjalan sepenuhnya dalam pelayar anda melalui WebAssembly — data anda kekal peribadi. Untuk Ruby, cuba penukar curl ke Ruby kami. Untuk Go, lihat curl ke Go. Di bawah adalah contoh Elixir 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 Elixir HTTPoison?

HTTPoison ialah klien HTTP yang paling popular untuk Elixir, dibina di atas pustaka Erlang hackney. Ia menyediakan API fungsian yang bersih untuk GET, POST, penstriman, dan permintaan async. Tambah ke deps mix.exs: {:httpoison, "~> 2.0"}. curl2code menggunakan HTTPoison sebagai lalai untuk penukaran Elixir.

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

HTTPoison adalah yang paling mantap dan digunakan secara meluas. Req adalah lebih baharu, lengkap dengan percubaan semula dan pengesahan. Tesla menawarkan seni bina middleware seperti Faraday. Finch adalah tahap rendah, berprestasi tinggi untuk kegunaan pengeluaran. Untuk pendekatan fungsian yang serupa, lihat curl ke Clojure atau curl ke Ruby.

Bagaimana cara mengendalikan pengesahan dalam Elixir?

Hantar pengepala sebagai senarai tuple rentetan: HTTPoison.get(url, [{"Authorization", "Bearer token"}]). Untuk pengesahan Basic, kodkan user:pass dengan Base.encode64/1 dan tambah awalan "Basic " pada nilainya. Padankan corak respons untuk {:ok, response} atau {:error, reason}. curl2code menukar bendera -H dan -u kepada Elixir idiomatik.

Bagaimana cara menghantar data borang multipart dalam Elixir?

Gunakan {:multipart, parts} sebagai badan: HTTPoison.post(url, {:multipart, [{:file, path, {"form-data", [{"name", "file"}, {"filename", "doc.pdf"}]}, []}]}). Untuk medan borang mudah, tambah tuple {"key", "value"}. curl2code mengendalikan bendera -F untuk multipart HTTPoison.

Bagaimana cara mengendalikan ralat dalam permintaan HTTP Elixir?

HTTPoison mengembalikan tuple bertanda: {:ok, response} atau {:error, reason}. Padankan corak dengan case atau with: case HTTPoison.get(url) do {:ok, %{status_code: 200}'} -> ... ; {:error, %{reason: reason}'} -> ... end. Ini adalah Elixir idiomatik — pengendalian ralat yang eksplisit dan menyeluruh tanpa pengecualian.

Bagaimana cara membuat permintaan HTTP serentak dalam 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). VM BEAM Elixir mengendalikan beribu-ribu proses serentak dengan cekap. Untuk keserentakan yang serupa, lihat curl ke Go.

Bagaimana cara menetapkan had masa tamat dalam Elixir?

Hantar pilihan ke HTTPoison: HTTPoison.get(url, [], [timeout: 30_000, recv_timeout: 30_000]). timeout ialah had masa tamat sambungan, recv_timeout ialah had masa tamat respons (kedua-duanya dalam milisaat). Untuk percubaan semula, bungkus dalam fungsi rekursif dengan percubaan yang berkurangan atau gunakan percubaan semula terbina dalam pustaka Req.

Bagaimana cara menggunakan proksi dalam Elixir?

Hantar pilihan proksi ke HTTPoison: HTTPoison.get(url, [], [proxy: {"proxy.host", 8080}]). Untuk proksi yang disahkan, gunakan proxy_auth: {"user", "pass"}. HTTPoison juga menyokong proksi SOCKS5 melalui pustaka hackney asas. curl2code menukar bendera -x kepada konfigurasi proksi Elixir.

Bagaimana cara menghantar permintaan POST dengan badan JSON dalam Elixir?

Tukar perintah curl POST seperti curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL ke Elixir menggunakan curl2code. Kod yang dihasilkan menggunakan HTTPoison.post(url, Jason.encode!(body), [{'Content-Type', 'application/json'}]). curl2code mengesan bendera -d/--data secara automatik dengan kandungan JSON dan menetapkan pengepala Content-Type yang sesuai dalam kod HTTPoison.

Bagaimana cara menambah kebenaran token Bearer dalam Elixir?

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

curl2code menukar curl -H "Content-Type: application/json" URL kepada kod HTTPoison dengan pengepala yang betul: [{'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 HTTPoison yang betul.

Pautan Berguna

Panduan curl

Tukar curl ke Bahasa Lain