Konwertuj curl na Elixir

Konwertuj polecenia curl na kod Elixir przy użyciu HTTPoison. curl2code działa w całości w przeglądarce poprzez WebAssembly — Twoje dane pozostają prywatne. Do programowania w Ruby wypróbuj nasz konwerter curl na Ruby. W przypadku Go, zobacz curl na Go. Poniżej znajdują się gotowe do użycia przykłady w Elixir.

Jak skopiować polecenie curl z przeglądarki

  1. 1

    Otwórz DevTools

    Naciśnij F12 lub Ctrl+Shift+I, aby otworzyć narzędzia programistyczne przeglądarki.

  2. 2

    Przejdź do karty Sieć

    Kliknij kartę Sieć i wykonaj akcję, która wywołuje żądanie HTTP.

  3. 3

    Kopiuj jako cURL

    Kliknij żądanie prawym przyciskiem myszy → KopiujKopiuj jako cURL. Następnie wklej je powyżej.

Najczęściej zadawane pytania

Czym jest Elixir HTTPoison?

HTTPoison to najpopularniejszy klient HTTP dla Elixira, zbudowany na bazie biblioteki Erlanga hackney. Zapewnia czyste, funkcyjne API dla GET, POST, strumieniowania i żądań asynchronicznych. Dodaj do zależności w mix.exs: {:httpoison, "~> 2.0"}. curl2code używa HTTPoison jako domyślnego dla konwersji Elixir.

HTTPoison vs Req vs Tesla vs Finch — którego użyć?

HTTPoison jest najbardziej ugruntowany i powszechny. Req jest nowszy, zawiera wszystko, co potrzebne, w tym ponowienia i auth. Tesla oferuje architekturę middleware jak Faraday. Finch jest niskopoziomowy i wysokowydajny do zastosowań produkcyjnych. Podobne podejścia funkcyjne znajdziesz w curl na Clojure lub curl na Ruby.

Jak obsługiwać uwierzytelnianie w Elixirze?

Przekaż nagłówki jako listę krotek typu string: HTTPoison.get(url, [{"Authorization", "Bearer token"}]). Dla uwierzytelniania Basic zakoduj user:pass za pomocą Base.encode64/1 i dodaj prefiks "Basic " do wartości. Dopasuj wzorzec odpowiedzi do {:ok, response} lub {:error, reason}. curl2code konwertuje flagi -H i -u na idiomatyczny kod Elixira.

Jak wysyłać dane formularza multipart w Elixirze?

Użyj {:multipart, parts} jako ciała: HTTPoison.post(url, {:multipart, [{:file, path, {"form-data", [{"name", "file"}, {"filename", "doc.pdf"}]}, []}]}). Dla prostych pól formularza dodaj krotki {"key", "value"}. curl2code obsługuje flagi -F dla multipart w HTTPoison.

Jak obsługiwać błędy w żądaniach HTTP w Elixirze?

HTTPoison zwraca otagowane krotki: {:ok, response} lub {:error, reason}. Dopasuj wzorzec za pomocą case lub with: case HTTPoison.get(url) do {:ok, %{status_code: 200}'} -> ... ; {:error, %{reason: reason}'} -> ... end. To idiomatyczny Elixir — jawna, wyczerpująca obsługa błędów bez wyjątków.

Jak wykonywać współbieżne żądania HTTP w Elixirze?

Użyj Task.async/1 i Task.await/1: tasks = urls |> Enum.map(&Task.async(fn -> HTTPoison.get(&1) end)), a następnie results = tasks |> Enum.map(&Task.await/1). Maszyna wirtualna BEAM Elixira wydajnie obsługuje tysiące współbieżnych procesów. Podobną współbieżność znajdziesz w curl na Go.

Jak ustawić limity czasu w Elixirze?

Przekaż opcje do HTTPoison: HTTPoison.get(url, [], [timeout: 30_000, recv_timeout: 30_000]). timeout to limit czasu połączenia, recv_timeout to limit czasu odpowiedzi (oba w milisekundach). Dla ponowień owiń w funkcję rekurencyjną lub użyj wbudowanych ponowień biblioteki Req.

Jak używać proxy w Elixirze?

Przekaż opcję proxy do HTTPoison: HTTPoison.get(url, [], [proxy: {"proxy.host", 8080}]). Dla proxy z uwierzytelnianiem użyj proxy_auth: {"user", "pass"}. HTTPoison wspiera również proxy SOCKS5 poprzez bazową bibliotekę hackney. curl2code konwertuje flagi -x na konfigurację proxy Elixira.

Jak wysłać żądanie POST z ciałem JSON w języku Elixir?

Konwertuj polecenie curl POST, takie jak curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL na kod Elixir za pomocą curl2code. Wygenerowany kod używa HTTPoison.post(url, Jason.encode!(body), [{'Content-Type', 'application/json'}]). curl2code automatycznie wykrywa flagi -d/--data z zawartością JSON i ustawia odpowiedni nagłówek Content-Type w kodzie HTTPoison.

Jak dodać autoryzację Bearer token w języku Elixir?

Przekaż curl -H "Authorization: Bearer YOUR_TOKEN" URL do curl2code, a narzędzie wygeneruje kod HTTPoison z nagłówkiem autoryzacji: [{'Authorization', 'Bearer YOUR_TOKEN'}]. curl2code wykrywa tokeny Bearer zarówno z flag -H "Authorization: Bearer ...", jak i --oauth2-bearer. W przypadku Basic auth użyj -u user:pass.

Jak ustawić nagłówek Content-Type w języku Elixir?

curl2code konwertuje curl -H "Content-Type: application/json" URL na kod HTTPoison z właściwym nagłówkiem: [{'Content-Type', 'application/json'}]. Dla danych -d curl domyślnie ustawia application/x-www-form-urlencoded; dla przesyłania formularzy -F używa multipart/form-data. curl2code mapuje każde z nich na odpowiednie API HTTPoison.

Przydatne linki

Poradniki curl

Konwertuj curl na inne języki