Как я могу установить прокси во время выполнения? - PullRequest
0 голосов
/ 27 февраля 2020

Я использую Chromium и мне нужно установить прокси во время выполнения.

Я попытался добиться этого следующим образом:

public void InitializeChromium()
{
    string page = "https://google.com";
    chromeBrowser = new ChromiumWebBrowser(page);
    this.Controls.Add(chromeBrowser);
    chromeBrowser.Load("http://google.com");
    chromeBrowser.Dock = DockStyle.Fill;
    BrowserSettings browserSettings = new BrowserSettings();
    browserSettings.FileAccessFromFileUrls = CefState.Enabled;
    browserSettings.UniversalAccessFromFileUrls = CefState.Enabled;
    chromeBrowser.BrowserSettings = browserSettings;
    chaneProxy();
}

public void chaneProxy()
{
    Cef.UIThreadTaskFactory.StartNew(delegate {
        var rc = chromeBrowser.GetBrowser().GetHost().RequestContext;
        var v = new Dictionary<string, object>();
        v["mode"] = "fixed_servers";
        v["server"] = "scheme://host:port";
        string error;
        bool success = rc.SetPreference("proxy", v, out error);
    });

    chromeBrowser.Load("https://extreme-ip-lookup.com/");
}

Но я получаю пустую страницу, когда я вызываю chaneProxy() метод.

...