【问题标题】:Failing HTTPS requestsHTTPS 请求失败
【发布时间】:2012-03-27 22:04:00
【问题描述】:

我遇到了一个我认为很奇怪的问题,希望有人可以帮助我解决问题。

几年前,我编写了一个 C#、.Net 程序,它对网站执行一些标准的 HTTPS HttpWebRequests 并从请求返回的“网页”中提取信息。该程序有一个调度程序,每五分钟发出一次这些请求。多年来,该计划每天 24 小时成功运行。

但是,从几天前开始,https 请求现在超时并且没有返回任何数据,即使 url 仍然有效并且可以通过浏览器手动访问。执行 https 请求的客户端程序没有任何改变。

为了尝试解决这个问题,我启动了一个名为“Charles”的程序(类似于 Fiddler)。 Charles 使用“中间人方法”来允许解密 https 请求。奇怪的是,当 Charles 在运行并设置拦截 https 请求时,请求正常工作并返回数据。但是,一旦 Charles 关闭或关闭其 SSL 代理,https 请求就会失败。

我尝试使用 Fiddler 进行相同的练习,但在 Fiddler 运行时请求未成功。它们仅在 Charles 跑步时起作用。

此时我完全被难住了,欢迎任何有关如何解决此问题的建议。

【问题讨论】:

    标签: http ssl https


    【解决方案1】:

    感谢 Microsoft 的 Eric Lawrence(Fiddler 的作者),这个问题得到了解决。埃里克说:

    您遇到了问题,因为此站点正在发送 TLS 警告 HTTPS 握手的开始,并且 .NET 将在此时间超时 发生。看 http://blogs.msdn.com/b/fiddler/archive/2012/03/29/https-request-hangs-.net-application-connection-on-tls-server-name-indicator-warning.aspx。 该问题仅在 Windows Vista 及更高版本上重现,因为 警告与 HTTPS 中不存在的 TLS 扩展有关 堆栈在 WinXP 上。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多