zoukankan      html  css  js  c++  java
  • 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, 端口, 用户名,密码);


  • 相关阅读:
    创建自定义图标和图像
    使用_CRTDBG_LEAK_CHECK_DF检查VC程序的内存泄漏(转)
    Hadoop Netflix数据统计分析2(转)
    系统提供的按钮和图标
    STATIC变量问题
    表格视图,文本视图和Web视图
    Hadoop Netflix数据统计分析1(转)
    获取程序数据路径(转)
    C++中STRING转为INT (转)
    netflix 推荐算法学习1(转)
  • 原文地址:https://www.cnblogs.com/yidanda888/p/12022280.html
Copyright © 2011-2022 走看看