Prevod curl do Elixir

Preveďte curl príkazy na Elixir kód pomocou HTTPoison. curl2code beží úplne vo vašom prehliadači cez WebAssembly — vaše údaje zostávajú v súkromí. Pre Ruby vyskúšajte náš prevodník curl do Ruby. Pre Go si pozrite curl do Go. Nižšie sú Elixir príklady pripravené na použitie.

Ako skopírovať curl z vášho prehliadača

  1. 1

    Otvorte DevTools

    Stlačte F12 alebo Ctrl+Shift+I na otvorenie vývojárskych nástrojov prehliadača.

  2. 2

    Prejdite na kartu Network

    Kliknite na kartu Network a vykonajte akciu, ktorá spustí HTTP požiadavku.

  3. 3

    Skopírovať ako cURL

    Kliknite pravým tlačidlom na požiadavku → CopyCopy as cURL. Potom ju prilepte vyššie.

Často kladené otázky

Čo je Elixir HTTPoison?

HTTPoison je najpopulárnejší HTTP klient pre Elixir, postavený na Erlang knižnici hackney. Poskytuje čisté, funkcionálne API pre GET, POST, streamovanie a asynchrónne požiadavky. Pridajte do závislostí v mix.exs: {:httpoison, "~> 2.0"}. curl2code používa HTTPoison ako predvolený pre konverzie do Elixiru.

HTTPoison vs Req vs Tesla vs Finch — čo použiť?

HTTPoison je najetablovanejší a najpoužívanejší. Req je novší, obsahuje všetko potrebné vrátane opakovaní a autentifikácie. Tesla ponúka architektúru middleware ako Faraday. Finch je nízkoúrovňový, vysoko výkonný pre produkčné použitie. Pre podobné funkcionálne prístupy si pozrite curl do Clojure alebo curl do Ruby.

Ako riešiť autentifikáciu v Elixire?

Odovzdajte hlavičky ako zoznam reťazcových n-tíc: HTTPoison.get(url, [{"Authorization", "Bearer token"}]). Pre Basic auth zakódujte user:pass pomocou Base.encode64/1 a pridajte prefix "Basic " k hodnote. Použite pattern matching na odpoveď pre {:ok, response} alebo {:error, reason}. curl2code konvertuje prepínače -H a -u na idiomatický Elixir.

Ako posielať multipart form data v Elixire?

Použite {:multipart, parts} ako telo: HTTPoison.post(url, {:multipart, [{:file, path, {"form-data", [{"name", "file"}, {"filename", "doc.pdf"}]}, []}]}). Pre jednoduché polia formulára pridajte n-tice {"key", "value"}. curl2code spracováva prepínače -F pre multipart v HTTPoison.

Ako riešiť chyby v HTTP požiadavkách v Elixire?

HTTPoison vracia označené n-tice: {:ok, response} alebo {:error, reason}. Použite pattern matching s case alebo with: case HTTPoison.get(url) do {:ok, %{status_code: 200}'} -> ... ; {:error, %{reason: reason}'} -> ... end. Toto je idiomatický Elixir — explicitné, vyčerpávajúce spracovanie chýb bez výnimiek.

Ako vytvárať súbežné HTTP požiadavky v Elixire?

Použite Task.async/1 a Task.await/1: tasks = urls |> Enum.map(&Task.async(fn -> HTTPoison.get(&1) end)) potom results = tasks |> Enum.map(&Task.await/1). BEAM VM v Elixire efektívne zvláda tisíce súbežných procesov. Pre podobnú súbežnosť si pozrite curl do Go.

Ako nastaviť timeouty v Elixire?

Odovzdajte voľby do HTTPoison: HTTPoison.get(url, [], [timeout: 30_000, recv_timeout: 30_000]). timeout je timeout pripojenia, recv_timeout je timeout odpovede (oba v milisekundách). Pre opakovania zabaľte do rekurzívnej funkcie s klesajúcim počtom pokusov alebo použite vstavané opakovanie v knižnici Req.

Ako používať proxy v Elixire?

Odovzdajte voľbu proxy do HTTPoison: HTTPoison.get(url, [], [proxy: {"proxy.host", 8080}]). Pre autentifikované proxy použite proxy_auth: {"user", "pass"}. HTTPoison tiež podporuje SOCKS5 proxy cez podkladovú knižnicu hackney. curl2code konvertuje prepínače -x na konfiguráciu proxy v Elixire.

Ako poslať POST požiadavku s JSON telom v jazyku Elixir?

Preveďte curl POST príkaz ako curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL do jazyka Elixir pomocou curl2code. Vygenerovaný kód používa HTTPoison.post(url, Jason.encode!(body), [{'Content-Type', 'application/json'}]). curl2code automaticky deteguje prepínače -d/--data s JSON obsahom a nastaví príslušnú hlavičku Content-Type v kóde pre HTTPoison.

Ako pridať autorizáciu pomocou Bearer tokenu v jazyku Elixir?

Vložte curl -H "Authorization: Bearer YOUR_TOKEN" URL do curl2code a nástroj vygeneruje kód pre HTTPoison s autorizačnou hlavičkou: [{'Authorization', 'Bearer YOUR_TOKEN'}]. curl2code deteguje Bearer tokeny z prepínačov -H "Authorization: Bearer ..." aj --oauth2-bearer. Pre Basic auth použite -u user:pass.

Ako nastaviť hlavičku Content-Type v jazyku Elixir?

curl2code konvertuje curl -H "Content-Type: application/json" URL na kód pre HTTPoison so správnou hlavičkou: [{'Content-Type', 'application/json'}]. Pre dáta v -d curl predvolene používa application/x-www-form-urlencoded; pre nahrávanie formulárov cez -F používa multipart/form-data. curl2code mapuje každý z nich na správne API pre HTTPoison.

Užitočné odkazy

Príručky pre curl

Prevod curl do iných jazykov