c# - SSL/TLS/HTTPS 站点在 C#/.NET WebBrowser 控件中非常慢,但在 Internet Explorer 中正常

标签 c# .net https webbrowser-control

背景

我正在修改 AutoWikiBrowser与托管在安全服务器上的 MediaWiki 站点一起工作。我允许用户通过 C# 应用程序中的 WebBrowser 控件手动登录,然后保存存储的 cookie 以便在 HttpWebRequest 中使用。

问题

我遇到的问题是,任何使用 SSL/TLS (https://urls) 的站点都需要非常长的加载时间,而且经常会超时。我不仅对有问题的 MediaWiki 站点进行了尝试,还对其他安全站点(如 PayPal 和安全 GMail)进行了尝试。

出于好奇,我在 Visual Studio 的帮助浏览器、[VB WebBrowser 示例][2] 和 [WPF WebBrowser 控件示例][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 设置小得多,但指定以上内容应该可以解决问题。

关于c# - SSL/TLS/HTTPS 站点在 C#/.NET WebBrowser 控件中非常慢,但在 Internet Explorer 中正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3345041/

相关文章:

c# - 工厂返回界面

c# - 在窗口内绘制窗口窗体

.net - Windows 4.5 Bootstrap 包在哪里?

node.js - Nodejs请求模块不发送授权 header

javascript - Open.window() Document.referrer 从 HTTPS 站点到 HTTP 站点为空

c# - 使用 c# 从 Panasonic PBX 捕获数据

c# - 您能否通过显式传递值来覆盖自动捕获的参数的值?

c# - 从 C# 中的另一个页面调用函数

.net - 在创建简单的消息总线时,推荐的架构是什么?

Java REST 客户端在调用 https 时返回 handshake_failure