100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > cef谷歌内核浏览器获取cookie值并保存

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

时间:2020-09-29 21:02:23

相关推荐

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

目的:获取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);

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。