CefSharp如何跳过解决不安全网网址(https)不显示的问题

CefSharp如何跳过解决不安全网网址(https)不显示的问题

  • 问题描述
  • 解决办法
  • 代码如下

问题描述

CefSharp在遇到不安全证书的网址,如:不安全的https等,默认不显示,任务管理器中线程也不会增加

解决办法

其实是CefSharp内核中在ssl证书不安全时,默认抛出了异常,只需要在request中对返回值进行重写,处理异常并返回true即可。

代码如下

Browser.RequestHandler = new ExampleRequestHandler();
 public class ExampleRequestHandler : RequestHandler
        {
            protected override bool OnCertificateError(IWebBrowser chromiumWebBrowser, IBrowser browser, CefErrorCode errorCode, string requestUrl, ISslInfo sslInfo, IRequestCallback callback)
            {
                Task.Run(() =>
                {
                    if (!callback.IsDisposed)
                    {
                        using (callback)
                        {
                            //地址包含报表成分 跳过ssl验证
                            if (requestUrl.Contains("reportSystem"))
                            {
                                callback.Continue(true);//重点部分
                            }
                            else
                            {
                                callback.Continue(false);
                            }
                        }
                    }
                });
                return true;
            }
        }

你可能感兴趣的:(杂项,c#,wpf)