0

我在 stackoverflow 中看到了以下代码:

$uri = "http://google.com"
$wc = New-Object System.Net.WebClient
$wc.UseDefaultCredentials = $true
$json = $wc.DownloadString($uri)

它工作正常,但我正在徘徊的是,我可以以某种方式存储我正在点击的 URL 的状态代码。

实际上,当我点击状态为 404 的 URL 时,它会返回相同的异常。

任何人都可以帮助我了解如何存储状态,或者即使我可以存储它返回的异常。

4

2 回答 2

2

这对您来说应该是一个很好的起点:

#requires -Version 3

$out = Invoke-WebRequest -Uri 'http://google.com' -UseDefaultCredentials -SessionVariable 'conn'

然后您可以检查$conn连接详细信息。 在此示例$out中将具有状态、返回等 。$out.StatusCode = 200

于 2017-09-12T16:33:42.943 回答
1

我做了一些研究,发现以下方法在 powershell 2.0 中运行良好

$req = [system.Net.WebRequest]::Create($uri)
$req.UseDefaultCredentials = $true
try
{
$res = $req.GetResponse()
}
catch [System.Net.WebException]
{
$res = $_.Exception.Response
}
$int = [int]$res.StatusCode
echo $int

这完全符合我的要求。

于 2017-09-15T01:24:24.727 回答