1
$uri="http:\\www.SomeUrl.com"
Measure-Command { $request = Invoke-WebRequest -Uri $uri -UseBasicParsing}

在上面的 powershell 脚本中,如果花费的时间超过 10 秒,我如何退出 Invoke-WebRequest,并在可能的情况下返回错误代码。

4

1 回答 1

1

您可以在 Invoke-WebRequest 命令中使用 Timeout 参数,

$uri="http://www.SomeUrl.com"
Measure-Command { $request = Invoke-WebRequest -Uri $uri -UseBasicParsing -Timeout 10}

您可以使用 try / catch 块来覆盖它以获取错误消息。

try {
    $uri="http://www.SomeUrl.com"
    Measure-Command { $request = Invoke-WebRequest -Uri $uri -UseBasicParsing -Timeout 10 -ErrorAction Stop}
}
catch {
    Write-Output "Timeout occured. Exception: $_"
}

您也可以使用-Headers @{"Cache-Control"="no-cache"}with Invoke-WebRequestwhich 不会缓存您正在访问的页面。

于 2020-02-17T06:02:45.670 回答