PowerShell Web请求,而不会在4xx / 5xx上抛出exception
我正在写一个PowerShell脚本,需要做一个Web请求,并检查响应的状态代码。
我试过写这个:
$client = new-object system.net.webclient $response = $client.DownloadData($url)
以及这个:
$response = Invoke-WebRequest $url
但是只要网页的状态码不是成功状态码,PowerShell就会继续并引发exception,而不是给我实际的响应对象。
即使加载失败,我如何获得页面的状态码?
尝试这个:
try { $response = Invoke-WebRequest http://localhost/foo } catch { $_.Exception.Response.StatusCode.Value__}
这是一个令人失望的,这是抛出一个例外,但事实就是这样。