2016-08-22 63 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" 
} 
相关问题