【发布时间】:2019-08-06 15:08:28
【问题描述】:
我已经实例化了一个 WebBrowser 对象。当我使用它导航到需要它访问的特定 URL 时,我收到以下错误消息:
The website’s security certificate is not secure.
Error code: 0
问题是我无法在 WebBrowser 上解决这个错误。
但是,如果我使用 Internet Explorer 11 访问相同的 URL,我会收到类似(可能相同?)的错误,但包含更多信息:
Your PC doesn’t trust this website’s security certificate.
The hostname in the website’s security certificate differs from the website you are trying to visit.
Error Code: DLG_FLAGS_INVALID_CA
DLG_FLAGS_SEC_CERT_CN_INVALID
它为我提供了Go on to the webpage (not recommended)的选项。
这是我用来导航到网页的代码:
WebBrowser wb = new WebBrowser();
wb.ScriptErrorsSuppressed = true;
wb.Navigate(url);
wb.Dock = DockStyle.Fill;
稍后我将wb 添加到控件。
我需要我的应用程序要么忽略错误并继续访问网页,要么提供以与 Internet Explorer 11 类似的方式访问网页的选项。
我该怎么做?
【问题讨论】:
-
您是说让应用程序自动查找并单击警告页面上的继续按钮不是可接受的解决方案吗?
-
你使用的是http还是https?使用诸如wireshark 或fiddler 之类的嗅探器并将IE 11 中的http 标头与c# 应用程序中的标头进行比较。使 c# 中的标头看起来像 IE 11。
-
@PavelAnikhouski,它并不完全是重复的。这个问题的答案并没有解决他的问题。该答案仅显示错误消息。他正在寻求绕过警告屏幕并进入预期页面。
-
@AlexanderRyanBaggett 让应用程序自动查找并单击继续按钮是可以接受的,但问题是它不会出现在应用程序上。这就是我所说的“提供以与 Internet Explorer 11 类似的方式访问网页的选项”部分的意思。我怎样才能让它出现?
-
@ArthurTheLearner,这可能有点远,因为我无法对其进行测试,但是您是否尝试过在 SLL 警告周围使用 registry keys?
标签: c# certificate webbrowser-control