欢迎访问!
您的支持是我们不断前行的动力!

CefSharp 使用代理IP,CefSharp 切换IP

CefSharp提供WPF和WinForms Web浏览器控件实现,不同于Webbrowser嵌入的是IE,CefSharp在.NET应用程序中嵌入Chromium。
普通的CefSharp使用代理功能代码如下:

var settings = new CefSettings();
settings.CachePath = "cache";
settings.CefCommandLineArgs.Add("proxy-server", ProxyAddress);
Cef.Initialize(settings);

如果代理需要用户名和密码验证就再加一段以下代码:

CefSharp.CefSharpSettings.Proxy = new CefSharp.ProxyOptions(代理ip, 端口, 用户名,密码);

最近在使用CefSharp的代理设置功能时遇到一个问题,使用过程种需要一直换代理ip,但是Cef.Initialize(settings) 只能初始化一次,最开始是想通过每次使用生成一个新的实例的方式来做,但是总感觉不太好。后来查资料找到了以下办法,拿出来跟大家共享:

编写方法:

async private void SetProxy(ChromiumWebBrowser cwb, string Address)
{
  await Cef.UIThreadTaskFactory.StartNew(delegate
  {
    var rc = cwb.GetBrowser().GetHost().RequestContext;
    var v = new Dictionary();
    v["mode"] = "fixed_servers";
    v["server"] = Address;
    string error;
    bool success = rc.SetPreference("proxy", v, out error);
  });
}

然后每次更新换代理ip时调用该方法就可以,如下:

SetProxy(CefBrowser, 新代理ip及端口);
CefSharp.CefSharpSettings.Proxy = new CefSharp.ProxyOptions(新代理ip, 端口, 用户名,密码);
赞(0) 打赏
转载请注明出处,未注明出处不得转载,蜘蛛侠 » CefSharp 使用代理IP,CefSharp 切换IP
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

蜘蛛侠,您身边的爬虫专家!

觉得文章有用就打赏一下文章作者吧

支付宝扫一扫打赏

微信扫一扫打赏