美文网首页开发笔记
cef谷歌内核浏览器获取cookie值并保存

cef谷歌内核浏览器获取cookie值并保存

作者: 孤傲小狼 | 来源:发表于2020-01-10 11:51 被阅读0次

    目的:获取cookie存入数据库,以实现下次登录的自动完成
    知识点:事件和委托

    建立cookie读取对象,继承接口ICookieVisitor

    public class CookieVisitor : ICookieVisitor
        {
            //定义委托
            public Action<Cookie> SendCookie = null;
            public bool Visit(CefSharp.Cookie cookie, int count, int total, ref bool deleteCookie)
            {
                if (SendCookie != null)
                {
                    SendCookie(cookie);
                }
    
                return true;
            }
    
            public void Dispose() { }
        }
    

    加载指定页面的cookie信息

    chrbro.FrameLoadEnd += (s, e) =>
                {
                    //一个页面加载如果有多个iframe会重复加载多次,需自己判断自己的加载的iframe或标记执行一次
                    BeginInvoke(new Action(() =>
                    {
                                        string _url = e.Url;
                                        //判断是否是需要获取cookie的页面
                                        if (_url.Contains("需要获取cookie的地址"))
                                        {
                                            //注册获取cookie回调事件
                                            ICookieManager cookieManager = chrbro.GetCookieManager();
                                            CookieVisitor visitor = new CookieVisitor();
                                            visitor.SendCookie += SaveCookie;
                                            cookieManager.VisitAllCookies(visitor);
                                        }
                                   
                    }));
                };
    

    回调函数体,这里可以执行需要执行的操作

    private void SaveCookie(CefSharp.Cookie cookie)
            {
                Console.WriteLine("Name:" + cookie.Name + "         Value:" + cookie.Value);
                ////保存数据库操作,根据自己需求更改
                //string sql = " INSERT INTO tbbro_cookies(name,value) VALUES ('" + cookie.Name + "','" + cookie.Value + "')";
                //cladata.svrUpdate(sql);
            }
    

    相关文章

      网友评论

        本文标题:cef谷歌内核浏览器获取cookie值并保存

        本文链接:https://www.haomeiwen.com/subject/lpupactx.html