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"}
]
endJetzt 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
endFü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.