HTTP-Anfragen mit Basisauthentifizierung senden

PowerShell:
HTTP-Anfragen mit Basisauthentifizierung senden

Wie geht das:

Hier ist ein einfaches Beispiel, wie man eine HTTP-Anfrage mit Basic Authentication in PowerShell macht:

# Benutzername und Passwort festlegen
$Benutzername = 'MeinBenutzer'
$Passwort = 'MeinPasswort'

# Base64-Encoder für Credentials verwenden
$Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("$Benutzername:$Passwort")))

# HTTP-Request mit Headers erstellen
$response = Invoke-RestMethod -Uri 'http://meineapi.de/daten' -Method Get -Headers @{Authorization=("Basic {0}" -f $Base64AuthInfo)}

# Antwort ausgeben
$response

Sample Output:

{Name: "Beispiel", Wert: "42", Status: "Erfolg"}

Tiefere Einblicke

Historisch gesehen ist Basic Authentication ein altes, aber bewährtes Authentifizierungsprotokoll im HTTP-Standard. Es ist einfach zu implementieren, allerdings ist es ohne HTTPS unsicher, weil die Credentials im Klartext übertragen werden. Für zusätzliche Sicherheit kann OAuth verwendet werden, was Token anstatt von Benutzername und Passwort benutzt. In PowerShell spezifisch ist Invoke-RestMethod die bevorzugte Methode für Webanfragen, da sie hocheffizient und einfach zu benutzen ist.

Siehe auch