Powershell调用RestMethod后方法超时问题

Powershell调用RestMethod后方法超时问题,rest,post,powershell-3.0,Rest,Post,Powershell 3.0,我正试图编写一个程序,从特定设备上删除文件。该设备有一个REST API,我可以从CLI访问它,没有任何问题 例如,如果我在CLI中编写此命令,它将起作用: $clip="test.mov" $ClipsURL="http://123.45.67.89/clips" $ClipToDelete=@{action="delete";clipname=$clip} Invoke-RestMethod -Uri $ClipsURL -Body $ClipToDelete -Method Post -C

我正试图编写一个程序,从特定设备上删除文件。该设备有一个REST API,我可以从CLI访问它,没有任何问题

例如,如果我在CLI中编写此命令,它将起作用:

$clip="test.mov"
$ClipsURL="http://123.45.67.89/clips"
$ClipToDelete=@{action="delete";clipname=$clip}
Invoke-RestMethod -Uri $ClipsURL -Body $ClipToDelete -Method Post -ContentType "application/x-www-form-urlencoded"
我可以使用$ClipToDelete参数(更改$clip的值),每次都可以使用

现在,当我把它放入一个循环(在我的主脚本中)时,它第一次工作,然后超时

foreach($clip in $ListClips) {
$clip="test.mov"
$ClipsURL="http://123.45.67.89/clips"
$ClipToDelete=@{action="delete";clipname=$clip}
Invoke-RestMethod -Uri $ClipsURL -Body $ClipToDelete -Method Post -ContentType "application/x-www-form-urlencoded"
}
在调试过程中,我可以清楚地看到,作为参数传递给调用RestMethod的所有值都是正确的(URL和Body都是正确的)

我的第一印象是,我可能应该在尝试再次发布之前关闭会话(如果这有意义的话)

我尝试向命令添加一个
SessionVariable
参数,但没有改变任何事情

是否有人已经知道如何关闭打开的web会话(使用新的Invoke RestMethod命令)?还是有人认为问题在别处

多谢各位

foreach($clip in $ListClips) {
$clip="test.mov"
$ClipsURL="http://123.45.67.89/clips"
$ClipToDelete=@{action="delete";clipname=$clip}
Invoke-RestMethod -Uri $ClipsURL -Body $ClipToDelete -Method Post -ContentType "application/x-www-form-urlencoded"
}
在第二行中,您将用“text.mov”覆盖当前值


如果不是输入错误,可能是您第一次删除对象时,再次尝试删除时收到超时(当然这取决于服务器端实现)

我在从AirWatch调用REST API时遇到了类似问题。 显然,该缺陷已针对以下POST&DELETE方法进行了归档:

但是我也在GET请求中间歇性地遇到了这个问题,我在下面的TechNet Wiki文章中记录了我必须使用的解决方法,如果您发现一些额外的东西,也许您可以尝试这些方法并加以改进:


这很可能是由于服务器端实现。我将尝试联系设备制造商(它是一台HD-SDI录像机:AJA Ki Pro)。谢谢你的回答