【问题标题】:How to perform a HTTPS request with Invoke-WebRequest?如何使用 Invoke-WebRequest 执行 HTTPS 请求?
【发布时间】:2014-10-10 12:42:00
【问题描述】:

我尝试使用 Invoke-WebRequest cmdlt 发出 HTTPS 请求:

Invoke-WebRequest -Uri "https://www.google.de" -Method GET -TimeoutSec 5

但是执行这些代码总是以超时结束。我还发现thisthis,似乎是类似的问题。但上述解决方法不起作用。

我做错了什么?

【问题讨论】:

  • 该文本适用于我的 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


【解决方案1】:

嗯,奇怪。现在我有一些时间来调试这个问题,但我无法重现它。所有 HTTPS 请求都按预期工作。诡异的。无论如何...谢谢@Matt + @KeithHill 对我的支持!

【讨论】:

    猜你喜欢
    • 2014-09-28
    • 1970-01-01
    • 2012-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-11
    • 1970-01-01
    相关资源
    最近更新 更多