curl in Elixir konvertieren
Konvertieren Sie curl-Befehle in Elixir-Code unter Verwendung von HTTPoison. curl2code läuft vollständig in Ihrem Browser via WebAssembly – Ihre Daten bleiben privat. Für Ruby testen Sie unseren curl zu Ruby Konverter. Für Go siehe curl zu Go. Unten finden Sie sofort einsatzbereite Elixir-Beispiele.
So kopieren Sie curl aus Ihrem Browser
- 1
DevTools öffnen
Drücken Sie F12 oder Ctrl+Shift+I, um die Entwicklertools Ihres Browsers zu öffnen.
- 2
Zum Reiter Netzwerk gehen
Klicken Sie auf den Reiter Netzwerk und führen Sie die Aktion aus, die den HTTP-Request auslöst.
- 3
Als cURL kopieren
Rechtsklick auf den Request → Kopieren → Als cURL kopieren. Dann oben einfügen.
Häufig gestellte Fragen (FAQ)
Was ist Elixir HTTPoison?
HTTPoison ist der beliebteste HTTP-Client für Elixir, basierend auf der Erlang-Bibliothek hackney. Er bietet eine saubere, funktionale API für GET, POST, Streaming und Async-Anfragen. Fügen Sie ihn zu den mix.exs deps hinzu: {:httpoison, "~> 2.0"}. curl2code verwendet HTTPoison als Standard für Elixir-Konvertierungen.
HTTPoison vs. Req vs. Tesla vs. Finch — was sollte man verwenden?
HTTPoison ist am etabliertesten und weit verbreitetsten. Req ist neuer und bietet alles inklusive Wiederholungsversuchen und Auth. Tesla bietet eine Middleware-Architektur wie Faraday. Finch ist hardwarenah und hochperformant für den Produktionseinsatz. Für ähnliche funktionale Ansätze siehe curl zu Clojure oder curl zu Ruby.
Wie wird die Authentifizierung in Elixir gehandhabt?
Übergeben Sie Header als Liste von String-Tupeln: HTTPoison.get(url, [{"Authorization", "Bearer token"}]). Für Basic-Auth kodieren Sie user:pass mit Base.encode64/1 und stellen Sie "Basic " dem Wert voran. Pattern-matchen Sie die Antwort auf {:ok, response} oder {:error, reason}. curl2code konvertiert -H- und -u-Flags in idiomatisches Elixir.
Wie sendet man Multipart-Form-Daten in Elixir?
Verwenden Sie {:multipart, parts} als Body: HTTPoison.post(url, {:multipart, [{:file, path, {"form-data", [{"name", "file"}, {"filename", "doc.pdf"}]}, []}]}). Für einfache Formularfelder fügen Sie {"key", "value"} Tupel hinzu. curl2code verarbeitet -F Flags für HTTPoison-Multipart.
Wie werden Fehler in Elixir-HTTP-Anfragen gehandhabt?
HTTPoison gibt getaggte Tupel zurück: {:ok, response} oder {:error, reason}. Pattern-matchen Sie mit case oder with: case HTTPoison.get(url) do {:ok, %{status_code: 200}'} -> ... ; {:error, %{reason: reason}'} -> ... end. Dies ist idiomatisches Elixir — explizite, erschöpfende Fehlerbehandlung ohne Exceptions.
Wie stellt man gleichzeitige HTTP-Anfragen in Elixir?
Verwenden Sie Task.async/1 und Task.await/1: tasks = urls |> Enum.map(&Task.async(fn -> HTTPoison.get(&1) end)) dann results = tasks |> Enum.map(&Task.await/1). Die BEAM-VM von Elixir verarbeitet Tausende von gleichzeitigen Prozessen effizient. Für ähnliche Nebenläufigkeit siehe curl zu Go.
Wie setzt man Timeouts in Elixir?
Übergeben Sie Optionen an HTTPoison: HTTPoison.get(url, [], [timeout: 30_000, recv_timeout: 30_000]). timeout ist der Verbindungs-Timeout, recv_timeout ist der Antwort-Timeout (beides in Millisekunden). Für Wiederholungsversuche umschließen Sie dies in einer rekursiven Funktion mit abnehmenden Versuchen oder nutzen Sie den integrierten Retry der Req-Bibliothek.
Wie verwendet man einen Proxy in Elixir?
Übergeben Sie die Proxy-Option an HTTPoison: HTTPoison.get(url, [], [proxy: {"proxy.host", 8080}]). Für authentifizierte Proxys verwenden Sie proxy_auth: {"user", "pass"}. HTTPoison unterstützt auch SOCKS5-Proxys über die zugrunde liegende hackney-Bibliothek. curl2code konvertiert -x Flags in die Elixir-Proxy-Konfiguration.
Wie sendet man eine POST-Anfrage mit JSON-Body in Elixir?
Konvertieren Sie einen curl POST Befehl wie curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL mit curl2code nach Elixir. Der generierte Code verwendet HTTPoison.post(url, Jason.encode!(body), [{'Content-Type', 'application/json'}]). curl2code erkennt automatisch -d/--data Flags mit JSON Inhalt und setzt den entsprechenden Content-Type Header im HTTPoison Code.
Wie fügt man eine Bearer Token Autorisierung in Elixir hinzu?
Übergeben Sie curl -H "Authorization: Bearer YOUR_TOKEN" URL an curl2code und es generiert HTTPoison Code mit dem Auth Header: [{'Authorization', 'Bearer YOUR_TOKEN'}]. curl2code erkennt Bearer Tokens sowohl in -H "Authorization: Bearer ..." als auch in --oauth2-bearer Flags. Für Basic auth verwenden Sie -u user:pass.
Wie setzt man den Content-Type Header in Elixir?
curl2code konvertiert curl -H "Content-Type: application/json" URL in HTTPoison Code mit dem richtigen Header: [{'Content-Type', 'application/json'}]. Bei -d Daten verwendet curl standardmäßig application/x-www-form-urlencoded; bei -F Formular-Uploads wird multipart/form-data verwendet. curl2code ordnet beides der korrekten HTTPoison API zu.
Nützliche Links
curl-Anleitungen
curl-Fehlercodes
Jeden curl-Exit-Code nachschlagen — Ursachen, Lösungen und Debugging-Tipps.
Dateien mit curl herunterladen
Dateien mit -o, -O speichern, Weiterleitungen folgen, Downloads fortsetzen und mehr.
SSL, TLS & Proxy
Zertifikate, TLS-Versionen, HTTP/SOCKS-Proxys und benutzerdefiniertes DNS konfigurieren.