Převést curl do Elixir

Převeďte curl příkazy na kód v Elixiru pomocí HTTPoison. curl2code běží zcela ve vašem prohlížeči přes WebAssembly — vaše data zůstávají v soukromí. Pro Ruby zkuste náš převodník curl do Ruby. Pro Go viz curl do Go. Níže jsou příklady v Elixiru připravené k použití.

Jak zkopírovat curl z prohlížeče

  1. 1

    Otevřete DevTools

    Stiskněte F12 nebo Ctrl+Shift+I pro otevření vývojářských nástrojů prohlížeče.

  2. 2

    Přejděte na kartu Network

    Klikněte na kartu Network a proveďte akci, která vyvolá HTTP požadavek.

  3. 3

    Zkopírovat jako cURL

    Klikněte pravým tlačítkem na požadavek → CopyCopy as cURL. Poté jej vložte výše.

Často kladené dotazy

Co je Elixir HTTPoison?

HTTPoison je nejpopulárnější HTTP klient pro Elixir, postavený na Erlangové knihovně hackney. Poskytuje čisté, funkcionální API pro GET, POST, streamování a asynchronní požadavky. Přidejte do závislostí v mix.exs: {:httpoison, "~> 2.0"}. curl2code používá HTTPoison jako výchozí pro převody do Elixiru.

HTTPoison vs Req vs Tesla vs Finch — co použít?

HTTPoison je nejzavedenější a nejrozšířenější. Req je novější, obsahuje vše potřebné včetně opakování a autentizace. Tesla nabízí architekturu middleware podobnou Faraday. Finch je nízkoúrovňový a vysoce výkonný pro produkční použití. Pro podobné funkcionální přístupy viz curl do Clojure nebo curl do Ruby.

Jak řešit autentizaci v Elixiru?

Předejte hlavičky jako seznam řetězcových n-tic: HTTPoison.get(url, [{"Authorization", "Bearer token"}]). Pro Basic auth zakódujte user:pass pomocí Base.encode64/1 a přidejte prefix "Basic " k hodnotě. Použijte pattern matching na odpověď pro {:ok, response} nebo {:error, reason}. curl2code převádí přepínače -H a -u na idiomatický Elixir.

Jak poslat multipart form data v Elixiru?

Použijte {:multipart, parts} jako tělo: HTTPoison.post(url, {:multipart, [{:file, path, {"form-data", [{"name", "file"}, {"filename", "doc.pdf"}]}, []}]}). Pro jednoduchá pole formuláře přidejte n-tice {"key", "value"}. curl2code řeší přepínače -F pro HTTPoison multipart.

Jak řešit chyby v HTTP požadavcích v Elixiru?

HTTPoison vrací označené n-tice (tagged tuples): {:ok, response} nebo {:error, reason}. Použijte pattern matching s case nebo with: case HTTPoison.get(url) do {:ok, %{status_code: 200}'} -> ... ; {:error, %{reason: reason}'} -> ... end. Toto je idiomatický Elixir — explicitní, vyčerpávající zpracování chyb bez výjimek.

Jak provádět souběžné HTTP požadavky v Elixiru?

Použijte Task.async/1 a Task.await/1: tasks = urls |> Enum.map(&Task.async(fn -> HTTPoison.get(&1) end)) a poté results = tasks |> Enum.map(&Task.await/1). BEAM VM v Elixiru efektivně zvládá tisíce souběžných procesů. Pro podobnou souběžnost viz curl do Go.

Jak nastavit timeouty v Elixiru?

Předejte volby do HTTPoison: HTTPoison.get(url, [], [timeout: 30_000, recv_timeout: 30_000]). timeout je timeout připojení, recv_timeout je timeout odpovědi (oboje v milisekundách). Pro opakování požadavků je zabalte do rekurzivní funkce s klesajícím počtem pokusů nebo použijte vestavěné opakování v knihovně Req.

Jak používat proxy v Elixiru?

Předejte volbu proxy do HTTPoison: HTTPoison.get(url, [], [proxy: {"proxy.host", 8080}]). Pro autentizované proxy použijte proxy_auth: {"user", "pass"}. HTTPoison také podporuje SOCKS5 proxy přes podkladovou knihovnu hackney. curl2code převádí přepínače -x na konfiguraci proxy v Elixiru.

Jak odeslat POST požadavek s JSON tělem v Elixiru?

Převeďte curl POST příkaz jako curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL do Elixiru pomocí curl2code. Vygenerovaný kód používá HTTPoison.post(url, Jason.encode!(body), [{'Content-Type', 'application/json'}]). curl2code automaticky detekuje -d/--data přepínače s JSON obsahem a nastaví odpovídající Content-Type hlavičku v kódu pro HTTPoison.

Jak přidat autorizaci pomocí Bearer tokenu v Elixiru?

Vložte curl -H "Authorization: Bearer YOUR_TOKEN" URL do curl2code a nástroj vygeneruje kód pro HTTPoison s autorizační hlavičkou: [{'Authorization', 'Bearer YOUR_TOKEN'}]. curl2code detekuje Bearer tokeny z přepínačů -H "Authorization: Bearer ..." i --oauth2-bearer. Pro Basic auth použijte -u user:pass.

Jak nastavit hlavičku Content-Type v Elixiru?

curl2code převede curl -H "Content-Type: application/json" URL na kód pro HTTPoison se správnou hlavičkou: [{'Content-Type', 'application/json'}]. Pro data u -d curl standardně používá application/x-www-form-urlencoded; pro nahrávání formulářů přes -F používá multipart/form-data. curl2code mapuje každý z nich na správné HTTPoison API.

Užitečné odkazy

Průvodci curl

Převést curl do jiných jazyků