private void startAsync()
{
Cef.UIThreadTaskFactory.StartNew(delegate
{
try
{
// Create a new RequestContext for the new form
RequestContext requestContext = new RequestContext();
// Create a dictionary to store the proxy settings
var proxySettings = new Dictionary<string, object>();
proxySettings["mode"] = "fixed_servers";
proxySettings["server"] = "*proxy*";
string error;
bool success = requestContext.SetPreference("proxy", proxySettings, out error);
if (!success)
{
Console.WriteLine("Failed to set proxy preference: " + error);
}
success = requestContext.SetPreference("host-resolver-rules", "MAP ripe.net 127.0.0.1:8080", out error);
if (!success)
{
Console.WriteLine("Failed to set host-resolver-rules preference: " + error);
}
// Create a new form
Form frm = new Form();
frm.Text = "New Form";
frm.Width = 600;
frm.Height = 400;
ChromiumWebBrowser browser = new ChromiumWebBrowser();
browser.Dock = DockStyle.Fill;
// Assign the RequestContext to the browser
browser.RequestContext = requestContext;
// Load the URL in the browser
browser.Load("http://ripe.net/");
frm.Controls.Add(browser);
frm.Show();
}
catch (Exception ex)
{
Console.WriteLine("An error occurred: " + ex.Message);
}
});
}
Proxy work. host-resolver-rules ignore. Help pls My task is to open many browsers simultaneously me in each proxy and change each time "MAP there is a random site 127.0.0.1:8080"
CefSettings settings = new CefSettings();
settings.CefCommandLineArgs.Add("disable-cache", "1");
settings.CefCommandLineArgs.Add("proxy-server", "this my proxy");
settings.CefCommandLineArgs.Add("proxy-bypass-list", "ripe.net");
settings.CefCommandLineArgs.Add("host-resolver-rules", "MAP ripe.net 127.0.0.1:8080");
Cef.Initialize(settings);
Everything works if you do it this way but I can only initialize once
MAP ripe.net 127.0.0.1:8080is an invalid rule for the host resolver.MAP ripe.net 127.0.0.1- you might want this. Specify the port in a requested url.