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

标签 .net http powershell

我知道一个 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/

相关文章:

javascript - 解码使用 JS encodeURIComponent 函数编码的参数

C# 如何让同步方法等待事件触发?

http - Golang http 服务器实现

powershell - 在 powershell 中将 Arraylist 转换为字符串

c# - 如果路径 protected ,请求 Windows Vista UAC 提升?

c# - 管理引用计数和对象生命周期的模式

node.js - 504网关超时错误NodeJs

angularjs - $http GET 调用与 ng-click

regex - 除非双引号内存在逗号,否则从 CSV 中删除双引号的 Powershell 脚本

powershell - #Requires 在模块脚本中工作吗?