curl konvertálása Elixir nyelvre

Konvertálja a curl parancsokat Elixir kóddá a HTTPoison használatával. A curl2code teljes egészében a böngészőben fut WebAssembly segítségével — az adatai privátak maradnak. Ruby esetén próbálja ki a curl to Ruby konverterünket. Go esetén lásd: curl to Go. Alább azonnal használható Elixir példákat talál.

Hogyan másoljuk ki a curl parancsot a böngészőből

  1. 1

    Nyissa meg a DevTools-t

    Nyomja meg az F12 billentyűt vagy a Ctrl+Shift+I a böngésző fejlesztői eszközeinek megnyitásához.

  2. 2

    Lépjen a Network fülre

    Kattintson a Network fülre, és hajtsa végre a HTTP kérést kiváltó műveletet.

  3. 3

    Másolás cURL-ként

    Kattintson a jobb gombbal a kérésre → CopyCopy as cURL. Ezután illessze be fent.

Gyakran Ismételt Kérdések

Mi az az Elixir HTTPoison?

A HTTPoison a legnépszerűbb HTTP kliens Elixirhez, amely az Erlang hackney könyvtárára épül. Tiszta, funkcionális API-t biztosít GET, POST kérésekhez, streaminghez és aszinkron kérésekhez. Add hozzá a mix.exs függőségekhez: {:httpoison, "~> 2.0"}. A curl2code a HTTPoison-t használja alapértelmezettként az Elixir konverziókhoz.

HTTPoison vs Req vs Tesla vs Finch — melyiket használjam?

A HTTPoison a leginkább bejáratott és széles körben használt. A Req újabb, mindent tartalmazó megoldás újrapróbálkozásokkal és hitelesítéssel. A Tesla middleware architektúrát kínál, mint a Faraday. A Finch alacsony szintű, nagy teljesítményű megoldás éles környezetbe. Hasonló funkcionális megközelítésekért lásd: curl to Clojure vagy curl to Ruby.

Hogyan kezelhető a hitelesítés Elixirben?

Add át a fejléceket sztring tuple-ök listájaként: HTTPoison.get(url, [{"Authorization", "Bearer token"}]). Basic auth-hoz kódold a user:pass értéket a Base.encode64/1 függvénnyel, és fűzd elé a "Basic " prefixet. Mintaillesztéssel ellenőrizd a választ: {:ok, response} vagy {:error, reason}. A curl2code a -H és -u flageket idiomatikus Elixir kóddá alakítja.

Hogyan küldhetők multipart form adatok Elixirben?

Használd a {:multipart, parts} formátumot törzsként: HTTPoison.post(url, {:multipart, [{:file, path, {"form-data", [{"name", "file"}, {"filename", "doc.pdf"}]}, []}]}). Egyszerű form mezőkhöz adj hozzá {"key", "value"} tuple-öket. A curl2code kezeli a -F flageket a HTTPoison multipart formátumához.

Hogyan kezelhetők a hibák az Elixir HTTP kérésekben?

A HTTPoison címkézett tuple-öket ad vissza: {:ok, response} vagy {:error, reason}. Használj mintaillesztést case vagy with segítségével: case HTTPoison.get(url) do {:ok, %{status_code: 200}'} -> ... ; {:error, %{reason: reason}'} -> ... end. Ez az idiomatikus Elixir — explicit, kimerítő hibakezelés kivételek nélkül.

Hogyan indíthatók párhuzamos HTTP kérések Elixirben?

Használd a Task.async/1 és Task.await/1 függvényeket: tasks = urls |> Enum.map(&Task.async(fn -> HTTPoison.get(&1) end)) majd results = tasks |> Enum.map(&Task.await/1). Az Elixir BEAM VM-je hatékonyan kezel több ezer párhuzamos folyamatot. Hasonló párhuzamosságért lásd: curl to Go.

Hogyan állítható be időtúllépés Elixirben?

Adj át opciókat a HTTPoison-nak: HTTPoison.get(url, [], [timeout: 30_000, recv_timeout: 30_000]). A timeout a kapcsolódási időtúllépés, a recv_timeout a válasz időtúllépése (mindkettő ezredmásodpercben). Újrapróbálkozásokhoz csomagold egy rekurzív függvénybe csökkenő kísérletszámmal, vagy használd a Req könyvtár beépített újrapróbálkozási funkcióját.

Hogyan használható proxy Elixirben?

Add át a proxy opciót a HTTPoison-nak: HTTPoison.get(url, [], [proxy: {"proxy.host", 8080}]). Hitelesített proxykhoz használd a proxy_auth: {"user", "pass"} opciót. A HTTPoison támogatja a SOCKS5 proxykat is az alapul szolgáló hackney könyvtáron keresztül. A curl2code a -x flageket Elixir proxy konfigurációra konvertálja.

Hogyan küldhető POST kérés JSON törzzsel Elixir nyelven?

Konvertáljon egy olyan curl POST parancsot, mint a curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL, Elixir kódra a curl2code segítségével. A generált kód a HTTPoison.post(url, Jason.encode!(body), [{'Content-Type', 'application/json'}]) megoldást használja. A curl2code automatikusan felismeri a JSON tartalmú -d/--data flageket, és beállítja a megfelelő Content-Type fejlécet a HTTPoison kódban.

Hogyan adható hozzá Bearer token hitelesítés Elixir nyelven?

Adja át a curl -H "Authorization: Bearer YOUR_TOKEN" URL parancsot a curl2code eszköznek, és az legenerálja a HTTPoison kódot az auth fejléccel: [{'Authorization', 'Bearer YOUR_TOKEN'}]. A curl2code felismeri a Bearer tokeneket a -H "Authorization: Bearer ..." és a --oauth2-bearer flagekből is. Basic auth esetén használja a -u user:pass kapcsolót.

Hogyan állítható be a Content-Type fejléc Elixir nyelven?

A curl2code a curl -H "Content-Type: application/json" URL parancsot a megfelelő fejléccel ellátott HTTPoison kódra konvertálja: [{'Content-Type', 'application/json'}]. A -d adatoknál a curl alapértelmezés szerint az application/x-www-form-urlencoded értéket használja; a -F űrlapfeltöltéseknél pedig a multipart/form-data értéket. A curl2code mindegyiket a megfelelő HTTPoison API-hoz rendeli.

Hasznos linkek

curl útmutatók

curl konvertálása más nyelvekre