我正在编写一个Powershell脚本,需要轮询API方法以查看它是否可用。如果这个API要返回400的东西,我怎么能对它采取行动呢?
考虑以下代码:
$response = Invoke-WebRequest -uri $uri -ContentType "application/json" -Method Get
$status = $response.StatusCode
Write-Output "`nStatus code is $status."
如果来自服务器的响应是400 Bad Request,则Powershell会以意想不到的方式运行:
Invoke-WebRequest:“请求错误的原因。” 在C:\ SomePath \ SomeScript.ps1:19 char:26 + $ response = Invoke-WebRequest -uri $ uri -ContentType“appl ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~ + CategoryInfo:InvalidOperation:(System.Net.HttpWebRequest:HttpWebRequest)[Invoke-WebRequest],WebException + FullyQualifiedErrorId:WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
响应状态代码为。
请注意,状态代码不可用,主要是因为$response
不包含任何内容。我需要在$response
中填充请求响应的详细信息,以便脚本可以决定执行某些操作。我如何捕获这些信息?