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
Öppna DevTools
Tryck på F12 eller Ctrl+Shift+I för att öppna webbläsarens utvecklarverktyg.
- 2
Gå till fliken Network
Klicka på fliken Network och utför åtgärden som utlöser HTTP-begäran.
- 3
Kopiera som cURL
Högerklicka på begäran → Copy → Copy 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.