如何在CEF + MFC中获取cookies?
How to get cookies in CEF + MFC?
我正在将 CEF 与我的 MFC 应用程序集成(我正在关注 this tutorial),但我不知道如何获取请求 cookie,我正在 OnBeforeBrowse 中尝试 方法,但仍然没有成功 我也在 OnResourceResponse 中尝试过,但我只设法在响应中获取一些 cookie。
几个初学者问题:GetFirstPartyForCookies 方法的作用是什么?我阅读了文档,但仍然不明白。
我应该使用 CefCookieManager 吗?我想我应该使用 VisitAllCookies 方法,但访问者参数不能为空,它给了我一个断言,我正在尝试:
CefRefPtr<CefCookieManager> manager = CefCookieManager::GetGlobalManager(NULL);
CefRefPtr<CefCookieVisitor> visitor;
manager->VisitAllCookies(visitor);
如有任何帮助或提示,我们将不胜感激。
在 CEF forum 上找到了这个答案。
要检索 cookie,我必须创建自己的 class 从 CefCookieVisitor 派生,然后调用 VisitAllCookies
CefRequestHandler::ReturnValue ClientHandler::OnBeforeResourceLoad(CefRefPtr< CefBrowser > browser,
CefRefPtr< CefFrame > frame,
CefRefPtr< CefRequest > request,
CefRefPtr< CefRequestCallback > callback)
{
auto strURL = request->GetURL();
CefRefPtr<CefCookieManager> manager = CefCookieManager::GetGlobalManager(NULL);
CefRefPtr<MyCookieVisitor> visitor = new MyCookieVisitor();
manager->VisitAllCookies(visitor);
return RV_CONTINUE;
}
我正在将 CEF 与我的 MFC 应用程序集成(我正在关注 this tutorial),但我不知道如何获取请求 cookie,我正在 OnBeforeBrowse 中尝试 方法,但仍然没有成功 我也在 OnResourceResponse 中尝试过,但我只设法在响应中获取一些 cookie。
几个初学者问题:GetFirstPartyForCookies 方法的作用是什么?我阅读了文档,但仍然不明白。 我应该使用 CefCookieManager 吗?我想我应该使用 VisitAllCookies 方法,但访问者参数不能为空,它给了我一个断言,我正在尝试:
CefRefPtr<CefCookieManager> manager = CefCookieManager::GetGlobalManager(NULL);
CefRefPtr<CefCookieVisitor> visitor;
manager->VisitAllCookies(visitor);
如有任何帮助或提示,我们将不胜感激。
在 CEF forum 上找到了这个答案。
要检索 cookie,我必须创建自己的 class 从 CefCookieVisitor 派生,然后调用 VisitAllCookies
CefRequestHandler::ReturnValue ClientHandler::OnBeforeResourceLoad(CefRefPtr< CefBrowser > browser,
CefRefPtr< CefFrame > frame,
CefRefPtr< CefRequest > request,
CefRefPtr< CefRequestCallback > callback)
{
auto strURL = request->GetURL();
CefRefPtr<CefCookieManager> manager = CefCookieManager::GetGlobalManager(NULL);
CefRefPtr<MyCookieVisitor> visitor = new MyCookieVisitor();
manager->VisitAllCookies(visitor);
return RV_CONTINUE;
}