如何处理Powershell中API调用引发的错误

时间:2014-08-13 20:17:51

标签: api powershell powershell-v4.0

我正在编写一个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中填充请求响应的详细信息,以便脚本可以决定执行某些操作。我如何捕获这些信息?

0 个答案:

没有答案