【发布时间】:2014-10-10 12:42:00
【问题描述】:
我尝试使用 Invoke-WebRequest cmdlt 发出 HTTPS 请求:
Invoke-WebRequest -Uri "https://www.google.de" -Method GET -TimeoutSec 5
但是执行这些代码总是以超时结束。我还发现this和this,似乎是类似的问题。但上述解决方法不起作用。
我做错了什么?
【问题讨论】:
-
该文本适用于我的 powershell 3.0。得到返回码 200 和适用的参数。愚蠢的问题,但您可以从您正在测试的计算机浏览到该站点?也许试试另一台电脑。
-
Matt:如果你一次又一次地运行代码会发生什么?你总是得到一个有效的回应吗?我之所以问,是因为有时我会得到有效的答复-但只有一次。如果我再次运行代码,则会导致超时。我可以浏览 HTTPS 网站。对于 HTTP 站点,代码总是按预期工作。只有 HTTPS 请求会导致这种奇怪的行为......
-
嗯...有趣。我刚刚运行了这个
(1..20 | %{Invoke-WebRequest -Uri "https://www.google.de" -Method GET -TimeoutSec 5} | ?{$_.StatusCode -eq 200} | Measure-Object).Count和 20 的输出。运行了几次 -
鉴于这是 https,是否需要凭据,即您是否需要经过身份验证的会话?
-
@Matt 我在另一个网络中运行了代码(在工作中),它在那里工作。所以我猜我家里的网络或者我的 Windows 7 的配置与我的网络相结合会导致这种奇怪的行为。最大的问题是:鱼在哪里?
标签: windows powershell https httprequest powershell-3.0