如何检查响应头是否包含某些头文件PowerShell

时间:2016-08-22 23:45:45

标签: powershell web request

我正在使用iwr提出这样的请求:

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。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:3)

Invoke-Webrequest返回的

HeadersIDictionary。 您可以通过检索所需密钥的值来进行测试。

$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"
}