Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何更改我的浏览器';用户代理字符串和代理?_C#_Winforms_Chromium Embedded_Cefsharp - Fatal编程技术网

C# 如何更改我的浏览器';用户代理字符串和代理?

C# 如何更改我的浏览器';用户代理字符串和代理?,c#,winforms,chromium-embedded,cefsharp,C#,Winforms,Chromium Embedded,Cefsharp,我已经知道如何设置浏览器的启动用户代理和代理。但是,在程序运行时,我不知道如何更改浏览器的用户代理和代理 每当单击LoadUserAgentStringButton按钮时,如何将浏览器的用户代理字符串更改为UserAgentStringTextBox的文本内容 当我单击LoadProxyButton按钮时,如何将浏览器的代理更改为ProxyTextBox的文本内容 我尝试了以下代码,但它没有明显地做任何事情: using CefSharp; using CefSharp.WinForms; us

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

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

当我单击LoadProxyButton按钮时,如何将浏览器的代理更改为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);
        }
    }
}
以下两张图片显示了当我加载网站“whatsmyuseragent.com”而不尝试更改默认用户代理字符串(Hello!)和代理(111.47.13.3:80)时发生的情况

以下两张图片显示了当我加载网站“whatsmyuseragent.com”并尝试将默认用户代理字符串(Hello!)和代理(111.47.13.3:80)更改为用户代理字符串“Hey!”和代理“213.85.92.10:80”时发生的情况

正如你所看到的,这是不成功的


感谢您抽出时间阅读我的问题调用
Cef.Initialize
后可以更改
Cef.settings
值的基本假设是不正确的。有关设置代理设置的背景信息,请参阅。调用
Initialize
后,没有简单的方法可以更改
UserAgent
,您可以实现
IRequestHandler.OnBeforeResourceLoad
并更改相关头。搜索
GitHub
项目,应该是以前版本中的一些示例。我现在没有时间提供详细的答案。如果您需要更多帮助,最好通过CefSharp Gitter频道询问。类似问题的答案可在此处找到。调用
Cef.Initialize
后可以更改
CefSettings
值的基本假设是错误的。有关设置代理设置的背景信息,请参阅。调用
Initialize
后,没有简单的方法可以更改
UserAgent
,您可以实现
IRequestHandler.OnBeforeResourceLoad
并更改相关头。搜索
GitHub
项目,应该是以前版本中的一些示例。我现在没有时间提供详细的答案。如果您需要更多帮助,那么最好通过CefSharp Gitter频道询问。类似问题的答案可在此处找到