首页 > 其他 > 详细

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

时间:2020-04-07 17:26:15      阅读:141      评论:0      收藏: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.cnblogs.com/soundcode/p/12653697.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!