SSL/TLS/HTTPS 站点在 C#/.NET WebBrowser 控件中非常慢,但在 Internet Explorer 中则很好

2024-05-14

背景

我正在修改自动维基浏览器 http://en.wikipedia.org/wiki/Wikipedia:AutoWikiBrowser使用托管在安全服务器上的 MediaWiki 站点。我允许用户通过 C# 应用程序中的 WebBrowser 控件手动登录,然后保存存储的 cookie 以在 HttpWebRequest 中使用。

问题

我遇到的问题是,任何使用 SSL/TLS (https:// urls) 的网站都需要非常长的时间来加载,并且经常超时。我不仅在有问题的 MediaWiki 网站上尝试过此操作,还在 PayPal 和安全 GMail 等其他安全网站上尝试过。

出于好奇,我在 Visual Studio 的帮助浏览器、[VB WebBrowser 示例][2] 和 [WPF WebBrowser Control 示例][3] 中尝试了相同的 https 站点,但它们都非常慢。这些相同的网站在 Internet Explorer 7(当然还有 Firefox)中运行良好。

问题

什么会导致使用 .NET WebBrowser 控件时 SSL/TLS 站点(https url)非常慢,但在 Internet Explorer 中加载正常?


在编码我们的聊天应用程序和 Web 服务时,我们也遇到的问题之一是 HTTP、SSL 类型请求需要花费大量时间来解析。事实上,当我们编写站点检查器(确保所有站点/服务都在线)时,最初需要 20 秒到 45 秒才能加载所有站点......在以下情况下不太有用: .NET 应用程序。

但是,当我将代理设置为 NULL 时,它几乎立即加载。

有时你这样做会出错,所以你也可以这样做:

_api.Proxy = WebRequest.DefaultWebProxy;

但是,我仍然发现:

_api.Proxy = null;

仍然最适合大多数网络请求。

您还可以强制代理和超时比 app.config 中的默认 WinHTTP 设置小得多,但指定上述内容应该可以解决问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SSL/TLS/HTTPS 站点在 C#/.NET WebBrowser 控件中非常慢,但在 Internet Explorer 中则很好 的相关文章

随机推荐