• Cefsharp 设置代理方法


    前提条件

    为了实现在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;
        }
    }

    增加/卸载代理

    万事俱备后,在对应的地方加上。如果想卸载掉代理, 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)
        {
            //
        }
    }
  • 相关阅读:
    第一章嵌入式系统基础1.5嵌入式系统性能评价
    第一章嵌入式系统基础1.4
    1.3嵌入式系统的硬件基础
    学习第二天
    经典的删除字符串中指定的字符
    字符串的两种表示
    股票数据定向爬虫
    淘宝商品比价定向爬虫
    中国大学排名定向爬虫
    python小练习 批量修改文件名
  • 原文地址:https://www.cnblogs.com/yinghualuowu/p/14775462.html
Copyright © 2020-2023  润新知