zoukankan      html  css  js  c++  java
  • Cefsharp 设置代理方法

    1.前提条件

    为了实现在cefsharp里面设置代理,首先在创建一个ChromiumWebBrowser的时候,检查是否使用了以下代码

    settings.CefCommandLineArgs.Add("no-proxy-server", "1");//不使用代理

    在RequestHandler下,实现GetAuthCredentials

    public class BaseRequestHandler : RequestHandler
    {
        private string _userName;
        private string _password;
    
        public BaseRequestHandler(string userName, string password)
        {
            this._userName = userName;
            this._password = password;
        }
    
        public BaseRequestHandler()
        {
            
        }
    
      
    
        protected override bool GetAuthCredentials(IWebBrowser chromiumWebBrowser, IBrowser browser, string originUrl, bool isProxy, string host,
            int port, string realm, string scheme, IAuthCallback callback)
        {
            if (isProxy == true)
            {
                callback.Continue(_userName, _password);
    
                return true;
            }
    
            return false;
        }
    }

    2.增加/卸载代理

    万事俱备后,在对应的地方加上。如果想卸载掉代理, v["mode"] = "direct"; 替换即可

    private async Task SetProxy(ChromiumWebBrowser cwb, string address)
    {
        try
        {
            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);
                Console.WriteLine(success);
            });
        }
        catch (Exception e)
        {
            //
        }
    }

    转自:Cefsharp 设置代理方法 - 樱花落舞 - 博客园 (cnblogs.com)

  • 相关阅读:
    欠采样和过采样
    分类模型之K近邻算法
    机器学习之分类模型
    。。。
    等人
    习惯
    六月一日
    回首
    你还年轻他们老了
    C#和JavaScript交互(asp.net前台和后台互调)总结 (转)
  • 原文地址:https://www.cnblogs.com/wintertone/p/15508508.html
Copyright © 2011-2022 走看看