private async void AuthButtonOnClick(object sender, RoutedEventArgs e) { AuthLoadingBorder.Visibility = Visibility.Visible; AuthMesTextBlock.Text = "认证中,请稍后"; while (_cookies.IsEmpty()) { var cookieManager = Cef.GetGlobalCookieManager(); var visitor = new CookieVisitor(); visitor.SendCookie += cookie => { _cookies += cookie.Domain.TrimStart('.') + "^" + cookie.Name + "^" + cookie.Value + ";"; }; cookieManager.VisitAllCookies(visitor); await Task.Delay(100); } Dispatcher?.BeginInvoke(new Action(async() => { Extend.Log(_cookies); if (!Site.VerifyCookie(_cookies)) { AuthMesTextBlock.Text = "认证失败,请确认登录成功"; await Task.Delay(4000); AuthLoadingBorder.Visibility = Visibility.Collapsed; return; } AuthMesTextBlock.Text = "认证成功,4秒后将关闭窗口"; Site.CurrentSiteSetting.LoginCookie = _cookies; await Task.Delay(4000); Close(); })); }
private void okButton_Click(object sender, EventArgs e) { var cookieManager = CefSharp.Cef.GetGlobalCookieManager(); CookieVisitor visitor = new CookieVisitor(); visitor.SendCookie += visitor_SendCookie; cookieManager.VisitAllCookies(visitor); }
public CefMainWindow() { Instance = this; InitializeComponent(); InitBrowser(); SetFormTitle(null); cookieManager = CefSharp.Cef.GetGlobalCookieManager(); visitor = new CookieVisitor(); visitor.SendCookie += visitor_SendCookie; }
private void ChromiumWebBrowser_FrameLoadEnd(object sender, FrameLoadEndEventArgs e) { string _url = e.Url; var cookieManager = CefSharp.Cef.GetGlobalCookieManager(); if (_url.Contains("https://passport.sfacg.com/Message.aspx?msg=LoginSuccessToHome&rul=/")) { CookieVisitor visitor = new CookieVisitor(); visitor.SendCookie += Visitor_SendCookie; cookieManager.VisitAllCookies(visitor); } }
private void ChromiumWebBrowser_FrameLoadEnd(object sender, CefSharp.FrameLoadEndEventArgs e) { if (e.HttpStatusCode == 200 && e.Url.IndexOf("baidu.com") > 0) { Cookie = ""; //注册获取cookie回调事件 CookieVisitor visitor = new CookieVisitor(); visitor.SendCookie += Visitor_SendCookie; var cookieManager = CefSharp.Cef.GetGlobalCookieManager(); cookieManager.VisitAllCookies(visitor); } }
public static async Task <Cookie[]> GetCookies(string domainEnding = "") { var manager = Cef.GetGlobalCookieManager(); var visitor = new CookieVisitor(); if (!manager.VisitAllCookies(visitor)) { return(new Cookie[0]); } var cc = await visitor.Task; return((await visitor.Task).Where(c => c.Domain.EndsWith(domainEnding)).ToArray()); }
public List <CookiePseudo> GetCurrentCookie(string url) { cookieList = new List <CookiePseudo>(); var cookieManager = browser.GetCookieManager(); var cook = new CookieVisitor(); //var c = cookieManager.VisitAllCookies(cook);//url,true,cook cookieManager.VisitUrlCookies("http://" + url, true, cook); //cookieList = null; while (!cook.IsDispose) { Thread.Sleep(10); } return(cookieList); }
private void InitializeChromium() { CefSettings settings = new CefSettings { PersistSessionCookies = true }; Cef.Initialize(settings); //https://media.w3.org/2010/05/sintel/trailer.mp4 chromium = new ChromiumWebBrowser(r.l) { MenuHandler = new MenuHandler(), Dock = DockStyle.Fill }; chromium.FrameLoadEnd += Browser_FrameLoadEnd; cookieVisitor = new CookieVisitor(); panel_Web.Controls.Add(chromium); }
public override void OnWindowLoad(Window window, ChromiumWebBrowser browser) { var screeHeight = SystemParameters.FullPrimaryScreenHeight; var screeWidth = SystemParameters.FullPrimaryScreenWidth; var config = Config; window.Invoke(() => { window.Title = config.Title ?? "web2win"; window.WindowStyle = WindowStyle.SingleBorderWindow; window.Topmost = config.Topmost; window.Height = config.Height ?? 450; window.Width = config.Width ?? 750; window.Top = config.Top ?? (screeHeight - window.Height) / 2; window.Left = config.Left ?? (screeWidth - window.Width) / 2; window.MaxHeight = config.MaxHeight ?? window.MaxHeight; window.MaxWidth = config.MaxWidth ?? window.MaxWidth; window.MinWidth = config.MinWidth ?? window.MinWidth; window.MinHeight = config.MinHeight ?? window.MinHeight; if (config.Icon != null && File.Exists(config.Icon)) { try { window.Icon = new BitmapImage(new Uri(config.Url)); } catch (Exception ex) { Console.WriteLine(ex); } } if (window.Icon == null) { //window.Icon = new BitmapImage(new Uri(new Uri(config.Url), "/favicon.ico")); browser.FrameLoadEnd += async(_, x) => { if (x.Frame.IsMain) { var res = await x.Frame.EvaluateScriptAsync("(function(){return (document.querySelector(\"link[rel = 'shortcut icon']\") || document.querySelector(\"link[rel = 'icon']\") || {}).href;})()"); if (res.Success && res.Result is string s && !string.IsNullOrWhiteSpace(s)) { window.Dispatcher?.Invoke(() => window.Icon = new BitmapImage(new Uri(s))); } } }; if (browser.IsLoaded) { var res = browser.EvaluateScriptAsync("(function(){return (document.querySelector(\"link[rel = 'shortcut icon']\") || document.querySelector(\"link[rel = 'icon']\") || {}).href;})()").Result; if (res.Success && res.Result is string s && !string.IsNullOrWhiteSpace(s)) { window.Dispatcher?.Invoke(() => window.Icon = new BitmapImage(new Uri(s))); } } } if (config.Title == null) { window.SetBinding(Window.TitleProperty, new Binding("Title") { Source = browser }); } }); var cookieManager = browser.GetCookieManager(); var visitor = new CookieVisitor(); visitor.Callback(value => { var array = value.Split(',').Select(double.Parse).ToArray(); window.Invoke(() => { window.Left = array[0]; window.Top = array[1]; window.Width = array[2]; window.Height = array[3]; }); }); cookieManager.VisitUrlCookies("http://location.com", true, visitor); if (Config.SaveExitedLocation) { window.Closing += Window_Closing; } }