内容简介: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
());
};
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 使用CefSharp在.Net程序中嵌入Chrome浏览器(六)——调试
- 使用CefSharp在.Net程序中嵌入Chrome浏览器(三)——启动优化
- 使用CefSharp在.Net程序中嵌入Chrome浏览器(九)——性能问题
- 使用CefSharp在.Net程序中嵌入Chrome浏览器(四)——Javascript交互
- 使用CefSharp在.Net程序中嵌入Chrome浏览器(七)——右键菜单
- 用go来做嵌入式开发-嵌入资源简化程序部署
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
XML 在线格式化
在线 XML 格式化压缩工具
Markdown 在线编辑器
Markdown 在线编辑器