Konverter curl til Elixir

Konverter curl-kommandoer til Elixir-kode ved hjælp af HTTPoison. curl2code kører udelukkende i din browser via WebAssembly — dine data forbliver private. For Ruby, prøv vores curl til Ruby-konverter. For Go, se curl til Go. Nedenfor er Elixir-eksempler, der er klar til brug.

Sådan kopierer du curl fra din browser

  1. 1

    Åbn DevTools

    Tryk på F12 eller Ctrl+Shift+I for at åbne din browsers udviklerværktøjer.

  2. 2

    Gå til fanen Network

    Klik på fanen Network og udfør den handling, der udløser HTTP-anmodningen.

  3. 3

    Kopier som cURL

    Højreklik på anmodningen → CopyCopy as cURL. Indsæt den derefter ovenfor.

Ofte stillede spørgsmål

Hvad er Elixir HTTPoison?

HTTPoison er den mest populære HTTP-klient til Elixir, bygget oven på Erlang-biblioteket hackney. Den giver en ren, funktionel API til GET, POST, streaming og asynkrone anmodninger. Tilføj til mix.exs-afhængigheder: {:httpoison, "~> 2.0"}. curl2code bruger HTTPoison som standard til Elixir-konverteringer.

HTTPoison vs Req vs Tesla vs Finch — hvilken skal jeg bruge?

HTTPoison er den mest etablerede og udbredte. Req er nyere og leveres med alt inkluderet såsom genforsøg og godkendelse. Tesla tilbyder middleware-arkitektur ligesom Faraday. Finch er på et lavt niveau og højtydende til produktionsbrug. For lignende funktionelle tilgange, se curl til Clojure eller curl til Ruby.

Hvordan håndteres godkendelse i Elixir?

Send headere som en liste af streng-tupler: HTTPoison.get(url, [{"Authorization", "Bearer token"}]). Til Basic auth skal du encode user:pass med Base.encode64/1 og sætte "Basic " foran værdien. Pattern match responset for {:ok, response} eller {:error, reason}. curl2code konverterer -H- og -u-flag til idiomatisk Elixir.

Hvordan sender man multipart form-data i Elixir?

Brug {:multipart, parts} som body: HTTPoison.post(url, {:multipart, [{:file, path, {"form-data", [{"name", "file"}, {"filename", "doc.pdf"}]}, []}]}). For simple form-felter skal du tilføje {"key", "value"} tupler. curl2code håndterer -F-flag til HTTPoison multipart.

Hvordan håndteres fejl i Elixir HTTP-anmodninger?

HTTPoison returnerer taggede tupler: {:ok, response} eller {:error, reason}. Pattern match med case eller with: case HTTPoison.get(url) do {:ok, %{status_code: 200}'} -> ... ; {:error, %{reason: reason}'} -> ... end. Dette er idiomatisk Elixir — eksplicit, udtømmende fejlhåndtering uden undtagelser.

Hvordan foretages samtidige HTTP-anmodninger i Elixir?

Brug Task.async/1 og Task.await/1: tasks = urls |> Enum.map(&Task.async(fn -> HTTPoison.get(&1) end)) derefter results = tasks |> Enum.map(&Task.await/1). Elixirs BEAM VM håndterer tusindvis af samtidige processer effektivt. For lignende samtidighed, se curl til Go.

Hvordan indstilles timeouts i Elixir?

Send indstillinger til HTTPoison: HTTPoison.get(url, [], [timeout: 30_000, recv_timeout: 30_000]). timeout er forbindelses-timeout, recv_timeout er respons-timeout (begge i millisekunder). For genforsøg skal du indpakke i en rekursiv funktion med faldende forsøg eller bruge Req-bibliotekets indbyggede genforsøg.

Hvordan bruges en proxy i Elixir?

Send proxy-indstilling til HTTPoison: HTTPoison.get(url, [], [proxy: {"proxy.host", 8080}]). For godkendte proxier skal du bruge proxy_auth: {"user", "pass"}. HTTPoison understøtter også SOCKS5-proxier via det underliggende hackney-bibliotek. curl2code konverterer -x-flag til Elixir-proxykonfiguration.

Hvordan sender man en POST-anmodning med JSON-body i Elixir?

Konverter en curl POST-kommando som curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL til Elixir ved hjælp af curl2code. Den genererede kode bruger HTTPoison.post(url, Jason.encode!(body), [{'Content-Type', 'application/json'}]). curl2code registrerer automatisk -d/--data-flag med JSON-indhold og indstiller den relevante Content-Type-header i HTTPoison-koden.

Hvordan tilføjer man Bearer token-autorisation i Elixir?

Send curl -H "Authorization: Bearer YOUR_TOKEN" URL til curl2code, og den genererer HTTPoison-kode med auth-headeren: [{'Authorization', 'Bearer YOUR_TOKEN'}]. curl2code registrerer Bearer-tokens fra både -H "Authorization: Bearer ..." og --oauth2-bearer-flag. Til Basic auth skal du bruge -u user:pass.

Hvordan indstiller man Content-Type-headeren i Elixir?

curl2code konverterer curl -H "Content-Type: application/json" URL til HTTPoison-kode med den korrekte header: [{'Content-Type', 'application/json'}]. For -d-data bruger curl som standard application/x-www-form-urlencoded; for -F-formular-uploads bruges multipart/form-data. curl2code mapper hver af disse til den korrekte HTTPoison API.

Nyttige links

curl-guider

Konverter curl til andre sprog