Jackiesteed

www.github.com/jackiesteed

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
void CBrowserFrame::SetCookie()
{
    CefRefPtr<CefCookieManager> manager = CefCookieManager::GetGlobalManager();
    CefCookie cookie;
    CefString(&cookie.name).FromASCII("Venus_UserInfo");
    CefString(&cookie.value).FromASCII(g_meta.cookie);
    CefString(&cookie.domain).FromASCII("venus.sogou-inc.com");
    CefString(&cookie.path).FromASCII("/");
    cookie.has_expires = true;
    cookie.expires.year = 2200;
    cookie.expires.month = 4;
    cookie.expires.day_of_week = 5;
    cookie.expires.day_of_month = 11;
    CefPostTask(TID_IO, NewCefRunnableMethod(manager.get(), &CefCookieManager::SetCookie, CefString("http://venus.sogou-inc.com"), cookie));
}

 

就是这段代码, 关键在于最后一句, 这里是开启了一个新的IO thread, 设置cookie一定要在io线程里面做.为什么呢? 我目前不能答复你, 随着我们对CEF内核的深入, 相信会水落石出.

使用情景, 比如, 想要直接登入一个网站, 可以通过设置cookie实现.

posted on 2013-09-23 17:07  Jackiesteed  阅读(9519)  评论(1编辑  收藏  举报