C# GeckoFX v45 无法设置 GeckoPreferences 来设置代理
C# GeckoFX v45 cannot set GeckoPreferences to set proxy
我正在使用 GeckoFx v45
,我正在尝试设置不同的代理。
我尝试了以下应该正常工作的方法。
private void Form1_Load(object sender, EventArgs e)
{
try
{
Xpcom.Initialize("Firefox"); //just in case its not already loaded
GeckoPreferences.User["general.useragent.override"] = UA;
GeckoPreferences.User["network.proxy.type"] = 1;
//replaced by normal valid proxy and port
GeckoPreferences.User["network.proxy.http"] = "1.1.1.1";
GeckoPreferences.User["network.proxy.http_port"] = "1234";
GeckoPreferences.User["network.proxy.ssl"] = "1.1.1.1";
GeckoPreferences.User["network.proxy.ssl_port"] = "1234";
geckoWebBrowser1.Navigate(textBox1.Text);
}
catch (Exception ex)
{
MessageBox.Show(ex.InnerException.Message);
}
}
GeckoBrowser
永远不会加载,它将保持黑色。
在输出中我看到 'System.InvalidCastException' in Geckofx-Core.dll
。
在元数据中,我从 DLL
、
中看到了这一点
public static GeckoPreferences Default { get; }
public static GeckoPreferences User { get; }
我想知道我们如何设置它 Property
而它是只获取的。
我认为这是不允许我的浏览器加载的问题。
当我删除 GeckoPreferences
并简单地 Navigate
浏览器时,它可以工作,但显然没有 Proxy
。
如果这是问题所在,那么我如何才能在 Gecko Webbrowser
上正确设置代理?
这似乎是一个简单的问题。当我将您的代码添加到我的示例中时,出现运行时错误:
Additional information: A String value may not be assigned to
'network.proxy.http_port' because it is already defined as Int32.
因此,'network.proxy.http_port/ssl_port' 需要是一个整数:
GeckoPreferences.User["network.proxy.http_port"] = 1234;
GeckoPreferences.User["network.proxy.http_port"] = 6789;
您可能还想看看:
- Help With Proxy Username & Pass with GeckoFX?
- How to set different proxies for each GeckoFX instance?
我正在使用 GeckoFx v45
,我正在尝试设置不同的代理。
我尝试了以下应该正常工作的方法。
private void Form1_Load(object sender, EventArgs e)
{
try
{
Xpcom.Initialize("Firefox"); //just in case its not already loaded
GeckoPreferences.User["general.useragent.override"] = UA;
GeckoPreferences.User["network.proxy.type"] = 1;
//replaced by normal valid proxy and port
GeckoPreferences.User["network.proxy.http"] = "1.1.1.1";
GeckoPreferences.User["network.proxy.http_port"] = "1234";
GeckoPreferences.User["network.proxy.ssl"] = "1.1.1.1";
GeckoPreferences.User["network.proxy.ssl_port"] = "1234";
geckoWebBrowser1.Navigate(textBox1.Text);
}
catch (Exception ex)
{
MessageBox.Show(ex.InnerException.Message);
}
}
GeckoBrowser
永远不会加载,它将保持黑色。
在输出中我看到 'System.InvalidCastException' in Geckofx-Core.dll
。
在元数据中,我从 DLL
、
public static GeckoPreferences Default { get; }
public static GeckoPreferences User { get; }
我想知道我们如何设置它 Property
而它是只获取的。
我认为这是不允许我的浏览器加载的问题。
当我删除 GeckoPreferences
并简单地 Navigate
浏览器时,它可以工作,但显然没有 Proxy
。
如果这是问题所在,那么我如何才能在 Gecko Webbrowser
上正确设置代理?
这似乎是一个简单的问题。当我将您的代码添加到我的示例中时,出现运行时错误:
Additional information: A String value may not be assigned to 'network.proxy.http_port' because it is already defined as Int32.
因此,'network.proxy.http_port/ssl_port' 需要是一个整数:
GeckoPreferences.User["network.proxy.http_port"] = 1234;
GeckoPreferences.User["network.proxy.http_port"] = 6789;
您可能还想看看:
- Help With Proxy Username & Pass with GeckoFX?
- How to set different proxies for each GeckoFX instance?