我知道一个 few good ways在 PowerShell 中构建 Web 客户端:.NET 类 System.Net.WebClient 和 System.Net.HttpWebRequest,或 COM 对象 Msxml2.XMLHTTP。据我所知,唯一可以让您访问数字状态代码(例如 200、404)的是最后一个 COM 对象。我遇到的问题是我不喜欢它的工作方式,也不喜欢依赖那里的 COM 对象。我也知道,由于安全漏洞等原因,Microsoft 有时会决定终止 COM 对象(ActiveX kill bits)。
我还缺少其他 .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
关于.net - 如何在 PowerShell 中获取数字 HTTP 状态代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1473358/