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