3

我正在尝试为每个 chromium 浏览器实例创建单独的用户会话,但找不到任何相关示例。目的是为每个浏览器实例单独存储 cookie。

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

4

2 回答 2

3

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

然后正如您在此示例中看到的(第 135 行),在初始化浏览器上下文之后,OnContextInitialized您可以设置 cookie 存储的路径。APISetStoragePath是:

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

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

于 2015-11-03T10:56:33.743 回答
-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 实例并将其作为新进程调用。

希望这有帮助

于 2017-05-30T17:13:40.463 回答