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.