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