CefSharp 设置Cookie访问网页,折腾几天的结果.晚上大部分没有完整demo 这里放上

运行有问题联系Q: 178181288 

private void cef()
        {
            //TextResponseFilter.ReplaceCount = 0;
            if (CefWebBrowser != null)
            {
                CefWebBrowser.Load(this.URLTB.Text);
            }
            else
            {
                Cef.EnableHighDPISupport();
                CefSharpSettings.LegacyJavascriptBindingEnabled = true;
                CefSharpSettings.ShutdownOnExit = true;

                var cache = Path.GetFullPath("cefcache");
                if (!System.IO.Directory.Exists(cache))
                {
                    System.IO.Directory.CreateDirectory(cache);
                }

                var settings = new CefSettings();
                settings.CachePath = cache;
                settings.IgnoreCertificateErrors = true;
                settings.PersistSessionCookies = true;
                settings.Locale = "zh-CN";
                settings.CefCommandLineArgs.Add("--ignore-urlfetcher-cert-requests", "1");
                settings.CefCommandLineArgs.Add("--ignore-certificate-errors", "1");

                Cef.Initialize(settings);
//这是写入自己的cookie设置
                //Fun_SetCookie();
                //CefWebBrowser = new ExtChromiumBrowser(this.URLTB.Text);
 CefWebBrowser = new ChromiumWebBrowser(this.URLTB.Text);
                //CefWebBrowser.FrameLoadEnd += CefWebBrowser_FrameLoadEnd;
                CEFPL.Controls.Add(CefWebBrowser);
            }
        }

//自己写入cookie的方法
private async void Fun_SetCookie()
        {
            string ck = ReadFile(path);
            if (!string.IsNullOrEmpty(ck))
            {
                JArray n = JsonConvert.DeserializeObject(ck) as JArray;
                CefSharp.Cookie item = new CefSharp.Cookie();

                foreach (var j in n)
                {
                    DateTime? Expires = null;
                    if (!string.IsNullOrEmpty(j["Expires"].ToString()))
                    {
                        item.Expires = DateTime.Parse(j["Expires"].ToString());
                    }

                    await Cef.GetGlobalCookieManager().SetCookieAsync(this.URLTB.Text, new CefSharp.Cookie()
                    {
                        Creation = DateTime.Now,
                        Path = j["Path"].ToString(),
                        Domain = j["Domain"].ToString(),
                        Name = j["Name"].ToString(),
                        Value = j["Value"].ToString(),
                        Expires = Expires
                    });
                }

                //var cook = CefWebBrowser.GetCookieManager();
                //cook.SetCookie(this.URLTB.Text, new CefSharp.Cookie()
                //{
                //    Domain = j["Domain"].ToString(),
                //    Name = j["Name"].ToString(),
                //    Value = j["Value"].ToString(),
                //    Expires = DateTime.MinValue
                //});
            }
        }


//加载弹出调试根据看cookie看一下
 private void CefWebBrowser_FrameLoadEnd(object sender, FrameLoadEndEventArgs e)
        {
            //弹出调试工具
            CefWebBrowser.ShowDevTools();
        }

百度了好多 都没完整的,看到评论也找了几个说解决的..一问都要钱...唉..

折腾几天终于解决..这样贴上完整代码~~~~~

 

版本是 84的哦.其他版本没测试.可能不一样

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值