Skicka en HTTP-förfrågan med Basic-autentisering

PowerShell:
Skicka en HTTP-förfrågan med Basic-autentisering

Hur man gör:

Här är ett exempel med hjälp av Invoke-RestMethod:

# Dina autentiseringsuppgifter
$anvandarNamn = 'dittAnvandarNamn'
$losenord = 'dittLosenord'

# Koda autentiseringsuppgifterna
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("$anvandarNamn`:$losenord")))

# Skapa och skicka HTTP-förfrågan
$response = Invoke-RestMethod -Uri 'http://dittApi.se/data' -Method Get -Headers @{Authorization=("Basic $base64AuthInfo")}

# Visa svaret
$response

Sample output:

id     : 123
name   : NamnExempel
value  : VärdeExempel

Djupdykning

Grundläggande autentisering har funnits länge och ansågs vara enkel att implementera. Men det är inte det säkraste alternativet, eftersom autentiseringsuppgifterna kan lätt komprometteras om de inte skickas över en säker anslutning som HTTPS. Alternativ som OAuth och API-nycklar erbjuder mer säkerhet och används allt mer. När det gäller implementation, kom ihåg att PowerShell använder standard .NET-klasser för webbåtkomst, vilket gör det enkelt att flytta kod mellan C# och PowerShell om så krävs.

Se även: