我知道有一个几个好方法 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(使用前将#替换为@)