您的位置:首页 > 新闻资讯 >文章内容
cefsharp 使用代理切换ip
来源: 作者:admin 时间:2019-10-15 11:31:22

    cefsharp 使用代理切换ip,CefSharp提供WPF和WinForms Web浏览器控件实现,不同于Webbrowser嵌入的是IE,CefSharp在.NET应用程序中嵌入Chromium。


cefsharp 使用代理切换ip


    普通的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<string, object>();


    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, 端口, 用户名,密码);


    这样就可以想更换ip的时候更换ip了。


    除此以外有谁还有别的方法可以共享出来大家一起学习。


相关文章内容简介
在线咨询
大客户经理
大客户经理
1829380381
13316264505

大客户经理微信

微信公众号

微信公众号

回到顶部