Я уже знаю, как установить стартовый пользовательский агент и прокси для моего браузера CefSharp. Но я не знаю, как изменить пользовательский агент и прокси моего браузера во время работы программы.
Как изменить строку пользовательского агента браузера CefSharp на текстовое содержимое UserAgentStringTextBox всякий раз, когда я нажимаю кнопку LoadUserAgentStringButton?
Как изменить прокси-сервер моего браузера CefSharp на текстовое содержимое ProxyTextBox всякий раз, когда я нажимаю кнопку LoadProxyButton?
Я пробовал следующий код, но он ничего не сделал:
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 БЕЗ попытки изменить строку пользовательского агента по умолчанию (Привет!) и прокси (111.47.13.3:80).
Следующие 2 изображения показывают, что происходит, когда я загружаю веб-сайт whatsmyuseragent.com С попыткой изменить строку пользовательского агента по умолчанию (Привет!) и прокси (111.47.13.3:80) ---- -> в строку агента пользователя "Эй!" и прокси "213.85.92.10:80".
Что, как видите, не увенчалось успехом.
CefSettings
после вызоваCef.Initialize
, неверно. Информацию о настройке настройки прокси. Нет простого способа изменитьUserAgent
после вызоваInitialize
. Вы можете реализоватьIRequestHandler.OnBeforeResourceLoad
и изменить соответствующий заголовок. Найдите проектGitHub
, должно быть несколько примеров в предыдущих выпусках. У меня нет времени, чтобы дать подробный ответ в данный момент. если вам нужна дополнительная помощь, лучше всего спросить на канале CefSharp Gitter. - person amaitland   schedule 08.02.2016