c# - 是否可以将 ServicePointManager 与 Webbrowser 控件一起使用?

标签 c# browser certificate

我想禁用从一个带有“不可信证书”的 HTTPS 站点的登录页面获得的“警告窗口”。

ServicePointManager 用于 WebRequest/WebResponse:

> public static bool
> ValidateServerCertificate(object
> sender, X509Certificate certificate,
> X509Chain chain, SslPolicyErrors
> sslPolicyErrors) {
>     return true; }
> 
> ServicePointManager.ServerCertificateValidationCallback
> = new RemoteCertificateValidationCallback(ValidateServerCertificate);

但如何将它与 Webbrowser 控件一起使用?

最佳答案

ServicePointManager 用于托管代码; WebBrowser 是 shdocvw 的包装器,因此几乎肯定会有一个非常不同的编程模型。

如果您可以自动执行此操作(我不确定您是否可以),我希望必须引用 COM 版本才能获得完整的 API(请参阅:AxWebBrowser)。 WebBrowser 仅公开完整功能的 .NET 友好子集 - 足以完成最常见的工作。

另一种选择可能是自己获取数据(WebClient/WebRequest 等),然后简单地将 html 推送到 WebBrowser - 但这会弄乱外部链接等。

关于c# - 是否可以将 ServicePointManager 与 Webbrowser 控件一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/181897/

相关文章:

azure - 如何让 Azure 中的 Web 应用程序可以通过 https 访问?

java - Java 如何验证证书是否为 EV 证书?

c# - 尽管安装了 Entity Framework v6.1.3,但仍无法访问 System.Data.Entity 命名空间?

javascript - Gatsby - 无法读取未定义的属性 'component---src-pages-index-jsx'

javascript - 在 JavaScript 中检测 Apple Silicon mac

php - Wordpress 页面无法为少数用户正确呈现

Python 请求模块不再工作

c# - 寻找正则表达式以在大字符串中查找引用的换行符(对于 C#)

c# - 传递带有额外参数的委托(delegate)函数

c# - 找出Windows服务的运行进程名称.NET 1.1