使用CefSharp在.Net程序中嵌入Chrome浏览器(八)——Cookie

栏目: ASP.NET · 发布时间: 6年前

内容简介:CEF中的Cookie是通过CookieManager来管理的,可以用它来设置发送的Cookie。发送Cookie的一个基本示例如下:var

CEF中的Cookie是通过CookieManager来管理的,可以用它来设置发送的Cookie。

发送Cookie

发送Cookie的一个基本示例如下:

var cookieManager =  _chrome . GetCookieManager ();
cookieManager. SetCookie ( "http://localhost:5000/test" new   Cookie ()
{
     Name   =  "name" ,
     Value  =  "123"
});

不过,GetCookieManager函数只有ChromiumWebBrowser初始化完成后才能使用,可以通过_chrome.IsBrowserInitialized函数判断,或者感知IsBrowserInitializedChanged事件。

发送全局Cookie

本身系统有一个全局的CookieManager,用它可以设置所有请求的Cookie

var cookieManager =  Cef . GetGlobalCookieManager ();
await  cookieManager. SetCookieAsync ( "http://127.0.0.1:5000" new   Cookie ()
{
     Name     =  "aaa" ,
     Value    =  "bbb" ,
});

这种方式下,所有的请求都默认携带该cookie,用来传递用户的身份信息等非常方便。

读取Cookie

如果要获取服务器返回的Cookie,则需要自己实现一个ICookieVisitor

class CookieVisitor  :  ICookieVisitor
{
     public   bool   Visit ( Cookie  cookie,  int  count,  int  total,  ref   bool  deleteCookie)
    {
         var  name  = cookie. Name ;
         var  value = cookie. Value ;
         return   true ;
    }
     public   void   Dispose ()
    {
    }
}

然后在CookieManager中关联CookieVisitor,当页面加载完成后,会调用Visitor访问cookie。

_chrome new   ChromiumWebBrowser ();
_chrome . Address  =  "http://127.0.0.1:5000/test" ;
_chrome . FrameLoadEnd   +=  (_s, _e) =>
{
     var  cookieManager =  _chrome . GetCookieManager ();
    cookieManager. VisitAllCookies ( new   CookieVisitor ());
};


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Kotlin程序员面试算法宝典

Kotlin程序员面试算法宝典

孙伟、楚秦 / 机械工业出版社 / 2018-12 / 69

本书是一本讲解程序员面试笔试算法的书籍。在写法上,除了讲解如何解答算法问题以外,还引入了例子辅以说明,以便读者能够更加容易地理解。 本书将程序员面试笔试过程中的各类算法类真题一网打尽。在题目的广度上,通过各种渠道,搜集了近3年来几乎所有IT企业面试笔试算法高频题目,所选择题目均为企业招聘使用题目;在题目的深度上,本书由浅入深、庖丁解牛式地分析每一个题目,并提炼归纳,同时,引入例子与源代码、时......一起来看看 《Kotlin程序员面试算法宝典》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具