如何更改CefSharp浏览器的用户代理字符串和代理?

时间:2016-02-05 23:46:20

标签: c# winforms chromium-embedded cefsharp

我已经知道如何设置我的CefSharp浏览器的启动用户代理和代理。但是,我不知道如何在程序运行时更改我的浏览器的用户代理和代理。

每当我点击 LoadUserAgentStringButton 按钮时,如何将我的CefSharp浏览器的用户代理字符串更改为 UserAgentStringTextBox 的文本内容?

每当我点击 LoadProxyButton 按钮时,如何将CefSharp浏览器的代理更改为 ProxyTextBox 的文本内容?

我已经尝试了以下代码,但它没有明显做任何事情:

using CefSharp;
using CefSharp.WinForms;
using System.Windows.Forms;

namespace Proxy
{
    public partial class ProxyForm : Form
    {
        private ChromiumWebBrowser browser;
        private CefSettings settings;

        public ProxyForm()
        {
            InitializeComponent();
            InitializeWebBrowser();
        }

        private void InitializeWebBrowser()
        {
            settings = new CefSettings();

            settings.CefCommandLineArgs.Add("proxy-server", "111.47.13.3:80");
            settings.UserAgent = "Hello!";

            Cef.Initialize(settings);

            browser = new ChromiumWebBrowser(string.Empty) { Dock = DockStyle.Fill };

            Controls.Add(browser);
        }

        private void LoadProxyButton_Click(object sender, System.EventArgs e)
        {
            settings.CefCommandLineArgs.Remove("proxy-server");
            settings.CefCommandLineArgs.Add("proxy-server", ProxyTextBox.Text);
        }

        private void LoadUserAgentStringButton_Click(object sender, System.EventArgs e)
        {
            settings.UserAgent = UserAgentStringTextBox.Text;
        }

        private void LoadWebsiteButton_Click(object sender, System.EventArgs e)
        {
            browser.Load(WebsiteTextBox.Text);
        }
    }
}

以下2张图片显示了当我加载网站“whatsmyuseragent.com”没有尝试更改默认用户代理字符串(Hello!)和代理(111.47.13.3:80)时会发生什么。

以下2张图片显示当我加载网站“whatsmyuseragent.com” WITH 尝试更改默认用户代理字符串(Hello!)和代理(111.47.13.3:80)时会发生什么 - ---->到用户代理字符串“嘿!”并代理“213.85.92.10:80”。

如你所见,这是不成功的。

感谢您抽出宝贵时间阅读我的问题!

0 个答案:

没有答案