2016-08-22 60 views
1

我用IWR做出像這樣的請求:如何檢查是否響應頭中包含某些頭的PowerShell

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

這讓我看起來像這樣的標題:

$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 

如何檢查,如果報頭包含此:

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

我試過

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

但是由於某種原因,這返回false。有沒有辦法做到這一點?

回答

0

HeadersInvoke-Webrequest返回的是IDictionary。 您可以通過檢索您需要的密鑰的值來進行測試。

$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" 
} 
相關問題