CEFSharp单独的CookieManage

问题描述 投票:3回答:2

我试图为每个Chrome浏览器实例创建单独的用户会话,但无法找到任何相关的示例。目的是按浏览器实例单独存储cookie。

有人能指出我正确的方向吗?我会发布相关的代码,但到目前为止我只有here的基本示例。

c# chromium chromium-embedded cefsharp cookiemanager
2个回答
3
投票

CEF3 revision 2040增加了对分离的浏览器实例(缓存,cookie,localStorage,访问授权等)的支持。首先,确保您拥有最新的CefSharp(更新为CEF3.2526.1347)。

然后正如您在this example(第135行)中看到的那样,在OnContextInitialized中初始化浏览器上下文之后,您可以设置cookie存储的路径。 SetStoragePath的API是:

设置将用于存储cookie数据的目录路径。如果|路径|空数据只会存储在内存中。如果无法访问cookie,则返回false。

因此,您可以尝试使用内存中的cookie,或者为每个实例使用不同的路径。


-1
投票

正如amaitland所说,这不受支持。

要在CefSharp中使用代理,您可以使用此代码,但每个应用程序域只能调用一次Initialize方法。

CefSettings settings = new CefSettings();
if (string.IsNullOrEmpty(proxyAddress) == false)
{
  settings.CefCommandLineArgs.Add("proxy-server", proxyAddress);
}
//validate if the CEF instance was already initialized
if (Cef.IsInitialized == false)
  Cef.Initialize(settings, true, true);
chromeBrowser = new ChromiumWebBrowser(url);

解决方法可以是在不同的应用程序上使用每个WebBrowser实例,并将其作为新进程调用。

希望这有帮助

© www.soinside.com 2019 - 2024. All rights reserved.