C # GeckoFX v45 не может установить GeckoPreferences для установки прокси - PullRequest
0 голосов
/ 15 октября 2018

Я использую 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?

1 Ответ

0 голосов
/ 16 октября 2018

Кажется, это простая проблема.Когда я добавил ваш код в свой пример, я получил ошибку времени выполнения:

Дополнительная информация: Строковое значение не может быть присвоено 'network.proxy.http_port', поскольку оно уже определено как Int32.

Итак, 'network.proxy.http_port / ssl_port' и должно быть целым числом:

GeckoPreferences.User["network.proxy.http_port"] = 1234;

GeckoPreferences.User["network.proxy.http_port"] = 6789;

Вы также можете посмотреть:

...