HTTP-Anfragen mit Basisauthentifizierung senden

Elixir:
HTTP-Anfragen mit Basisauthentifizierung senden

How to:

Elixir verwendet das HTTPoison Paket, ein beliebter HTTP-Client, um Requests mit Basisauthentifizierung durchzuführen. Installiere HTTPoison über mix.exs und folge dem Beispiel:

# mix.exs
defp deps do
  [
    {:httpoison, "~> 1.8"}
  ]
end

Jetzt in deinem Code:

defmodule HTTPExample do
  def fetch_protected_content do
    # Benutzername und Passwort
    auth = {"meinBenutzername", "meinPasswort"}

    # HTTP GET Request mit Basic Authentication
    HTTPoison.get("https://meineprotectedseite.com", [], basic_auth: auth)
  end
end

Führe mix deps.get aus, um HTTPoison zu installieren, und dann rufe HTTPExample.fetch_protected_content() auf. Du erhältst eine Antwort im Format:

{:ok, %HTTPoison.Response{status_code: 200, body: response_body}}

Deep Dive

Die Basisauthentifizierung sendet Benutzernamen und Passwort im Authorization-Header, kodiert als Base64-String. Historisch wurde sie eingeführt, um eine einfache Zugangskontrolle zu implementieren. Obwohl einfach, gilt sie als unsicher, wenn nicht über HTTPS genutzt, da die Zugangsdaten im Klartext vorlagen könnten.

Alternativen zur Basisauthentifizierung beinhalten OAuth, Token-basierte Authentifizierung und andere komplexere Systeme, die zusätzliche Sicherheit bieten.

In Elixir gibt es neben HTTPoison verschiedene Pakete wie Tesla oder Hackney, die ebenfalls HTTP-Requests ermöglichen. Die HTTPoison-Bibliothek basiert auf Hackney. Die Wahl hängt vom spezifischen Anwendungsfall ab.

See Also