如何在 PowerShell 中获取数字 HTTP 状态代码

2024-01-08

我知道有一个几个好方法 http://scriptolog.blogspot.com/2007/08/query-http-status-codes-and-headers.html在 PowerShell 中构建 Web 客户端:.NET 类 System.Net.WebClient 和 System.Net.HttpWebRequest,或 COM 对象 Msxml2.XMLHTTP。据我所知,唯一能让您访问数字状态代码(例如 200、404)的是最后一个,即 COM 对象。我遇到的问题是我不喜欢它的工作方式,也不喜欢依赖 COM 对象。我还知道,由于安全漏洞等原因,微软有时会决定杀死 COM 对象(ActiveX 杀死位)。

我还缺少其他 .NET 方法吗?状态代码是否位于另外两个对象之一中,而我只是不知道如何获取它?


使用 x0n 和 joshua ewer 的答案来完成一个代码示例,我希望这不是太糟糕的形式:

$url = 'http://google.com'
$req = [system.Net.WebRequest]::Create($url)

try {
    $res = $req.GetResponse()
} 
catch [System.Net.WebException] {
    $res = $_.Exception.Response
}

$res.StatusCode
#OK

[int]$res.StatusCode
#200
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 PowerShell 中获取数字 HTTP 状态代码 的相关文章

随机推荐