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); 

}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM