本文介绍了运行Invoke-RestMethod时出现超时错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在PowerShell上运行Invoke-RestMethod来调用Web API方法。它可以工作,但大约一分钟后,我收到一个超时错误。我真的希望PowerShell等到被调用的方法完成。我该怎么做呢?谢谢你的帮助。约翰

PS C:TestTestScripts> .Run_Automation 5.5.4.382.1
VERBOSE: GET http://server/api/Automation/GetAutomation?testName=5.5.4.382.1 with 0-byte payload
Invoke-RestMethod : The operation has timed out.
At C:TeamCityTeamCityScriptsRun_Automation.ps1:20 char:5
+     Invoke-RestMethod -Uri http://corloclaf2/api/Automation/GetAutomation?testNa ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebException
+ FullyQualifiedErrorId :WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand

推荐答案

根据Technet documentation for the Invoke-RestMethod cmdlet,您可以将超时参数附加到您的调用中。默认设置为无限期,但有用户抱怨默认设置为100秒。

我看不到您的所有代码,但要指定2分钟的超时,您的呼叫应如下所示:

Invoke-RestMethod -Uri "http://corloclaf2/api/Automation/GetAutomation?test" -TimeoutSec 120

这篇关于运行Invoke-RestMethod时出现超时错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-20 12:48