为每个GeckoFx实例使用不同的代理

本文关键字:代理 GeckoFx 实例 | 更新日期: 2023-09-27 18:30:01

我正在使用Geckfx18.0和xulrunner18.01。由于Geckofx与其他实例共享cookie和用户偏好,所以我试图创建一个新的配置文件目录,使其具有唯一的设置,但似乎没有用。这是我的密码。我的代码有问题吗?

String profileDir = port.ToString();
string directory = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), Path.Combine("Geckofx", profileDir));
this.Text = directory.ToString();
if (!Directory.Exists(directory))
    Directory.CreateDirectory(directory);
Gecko.Xpcom.ProfileDirectory = directory;
GeckoPreferences.User["network.proxy.type"] = 1;
GeckoPreferences.User["network.proxy.socks"] = "127.0.0.1";
GeckoPreferences.User["network.proxy.socks_port"] = port;
GeckoPreferences.User["network.proxy.socks_version"] = 5;
GeckoPreferences.User["general.useragent.override"] = ua;

为每个GeckoFx实例使用不同的代理

在设置ProfileDirectory之前是否初始化Gecko的实例?

请注意,XpCom.ProfileDirectory是一个静态属性,因此,如果您试图启动每个实例,请记住,您可能正在撤消之前设置的路径。

此外,您可以通过GeckoPreferences.Save()将用户首选项保存到一个文件中,而不是在代码中设置首选项。然后,您可以通过GeckoPreferences.Load()将它们重新加载以支持不同的用户。