Konvertera curl till Elixir

Konvertera curl-kommandon till Elixir-kod med HTTPoison. curl2code körs helt i din webbläsare via WebAssembly — din data förblir privat. För Ruby, prova vår curl till Ruby-konverterare. För Go, se curl till Go. Nedan finns färdiga Elixir-exempel.

Hur man kopierar curl från din webbläsare

  1. 1

    Öppna DevTools

    Tryck på F12 eller Ctrl+Shift+I för att öppna webbläsarens utvecklarverktyg.

  2. 2

    Gå till fliken Network

    Klicka på fliken Network och utför åtgärden som utlöser HTTP-begäran.

  3. 3

    Kopiera som cURL

    Högerklicka på begäran → CopyCopy as cURL. Klistra sedan in den ovan.

Vanliga frågor

Vad är Elixir HTTPoison?

HTTPoison är den mest populära HTTP-klienten för Elixir, byggd ovanpå Erlang-biblioteket hackney. Den erbjuder ett rent, funktionellt API för GET, POST, streaming och asynkrona anrop. Lägg till i mix.exs deps: {:httpoison, "~> 2.0"}. curl2code använder HTTPoison som standard för Elixir-konverteringar.

HTTPoison vs Req vs Tesla vs Finch — vilken ska man använda?

HTTPoison är den mest etablerade och använda. Req är nyare och kommer med allt inkluderat, som omprövningar och autentisering. Tesla erbjuder en middleware-arkitektur likt Faraday. Finch är på låg nivå och högpresterande för produktionsbruk. För liknande funktionella tillvägagångssätt, se curl till Clojure eller curl till Ruby.

Hur hanterar man autentisering i Elixir?

Skicka headers som en lista med strängtupler: HTTPoison.get(url, [{"Authorization", "Bearer token"}]). För Basic-autentisering, koda user:pass med Base.encode64/1 och lägg till prefixet "Basic " till värdet. Mönstermatcha svaret för {:ok, response} eller {:error, reason}. curl2code konverterar -H- och -u-flaggor till idiomatisk Elixir.

Hur skickar man multipart-formulärdata i Elixir?

Använd {:multipart, parts} som body: HTTPoison.post(url, {:multipart, [{:file, path, {"form-data", [{"name", "file"}, {"filename", "doc.pdf"}]}, []}]}). För enkla formulärfält, lägg till {"key", "value"}-tupler. curl2code hanterar -F-flaggor för HTTPoison multipart.

Hur hanterar man fel i Elixir HTTP-anrop?

HTTPoison returnerar taggade tupler: {:ok, response} eller {:error, reason}. Mönstermatcha med case eller with: case HTTPoison.get(url) do {:ok, %{status_code: 200}'} -> ... ; {:error, %{reason: reason}'} -> ... end. Detta är idiomatiskt för Elixir — explicit och uttömmande felhantering utan undantag.

Hur gör man samtidiga HTTP-anrop i Elixir?

Använd Task.async/1 och Task.await/1: tasks = urls |> Enum.map(&Task.async(fn -> HTTPoison.get(&1) end)) sedan results = tasks |> Enum.map(&Task.await/1). Elixirs BEAM VM hanterar tusentals samtidiga processer effektivt. För liknande samtidighet, se curl till Go.

Hur ställer man in timeouts i Elixir?

Skicka alternativ till HTTPoison: HTTPoison.get(url, [], [timeout: 30_000, recv_timeout: 30_000]). timeout är anslutnings-timeout, recv_timeout är svars-timeout (båda i millisekunder). För omprövningar, slå in i en rekursiv funktion med minskande antal försök eller använd Req-bibliotekets inbyggda omprövning.

Hur använder man en proxy i Elixir?

Skicka proxy-alternativ till HTTPoison: HTTPoison.get(url, [], [proxy: {"proxy.host", 8080}]). För autentiserade proxies, använd proxy_auth: {"user", "pass"}. HTTPoison stöder även SOCKS5-proxies via det underliggande hackney-biblioteket. curl2code konverterar -x-flaggor till Elixir-proxykonfiguration.

Hur skickar man en POST förfrågan med JSON body i Elixir?

Konvertera ett curl POST kommando som curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL till Elixir med curl2code. Den genererade koden använder HTTPoison.post(url, Jason.encode!(body), [{'Content-Type', 'application/json'}]). curl2code detekterar automatiskt -d/--data flaggor med JSON innehåll och ställer in rätt Content-Type header i HTTPoison kod.

Hur lägger man till Bearer token auktorisering i Elixir?

Skicka curl -H "Authorization: Bearer YOUR_TOKEN" URL till curl2code så genereras HTTPoison kod med auth header: [{'Authorization', 'Bearer YOUR_TOKEN'}]. curl2code detekterar Bearer tokens från både -H "Authorization: Bearer ..." och --oauth2-bearer flaggor. För Basic auth, använd -u user:pass.

Hur ställer man in Content-Type header i Elixir?

curl2code konverterar curl -H "Content-Type: application/json" URL till HTTPoison kod med rätt header: [{'Content-Type', 'application/json'}]. För -d data använder curl som standard application/x-www-form-urlencoded; för -F formuläruppladdningar används multipart/form-data. curl2code mappar varje del till rätt HTTPoison API.

Användbara länkar

curl-guider

Konvertera curl till andra språk