2016-08-22 4 views
1

Ich verwende iwr einen Antrag zu machen, wie so:Wie überprüfen, ob Response-Header enthält bestimmte Header powershell

iwr "http://someapi/param" -UseBasicParsing -Method Head 

Dies bringt mich auf die Überschriften, die wie folgt aussieht:

$var1 = "Timing-Allow-Origin: * 
X-CID: 1 
Accept-Ranges: bytes 
Content-Length: 43 
Cache-Control: public,max-age=172800 
Content-Type: image/gif 
Other headers 

Wie kann ich überprüfen, ob die Header enthalten diese:

"Timing-Allow-Origin"="*" 
"Cache-Control"="public,max-age=172800" 

ich versuchte

$var2.RawContent = iwr "http://someapi/param" -UseBasicParsing -Method Head 
Write-Host ($var2.RawContent -like "*Timing-Allow-Origin: *") 

Aber das gibt aus irgendeinem Grund falsch zurück. Gibt es eine Möglichkeit, dies zu tun?

Antwort

0

Headers zurückgegeben von Invoke-Webrequest ist ein IDictionary. Sie können testen, indem Sie den Wert des Schlüssels abrufen, den Sie benötigen.

$response = iwr "http://someapi/param" -UseBasicParsing -Method Head 
if ($response.Headers["Cache-Control"] -eq "public,max-age=172800") { 
    Write-Output "Found" 
} else { 
    Write-Output "Not found" 
} 
Verwandte Themen