public Proxy ToProxy()
        {
            Proxy proxy = new Proxy();

            if (Kind != null)
            {
                proxy.Kind = Kind.Value;
            }

            if (!string.IsNullOrWhiteSpace(HttpProxy))
            {
                proxy.HttpProxy = HttpProxy;
            }

            if (!string.IsNullOrWhiteSpace(FtpProxy))
            {
                proxy.FtpProxy = FtpProxy;
            }

            if (!string.IsNullOrWhiteSpace(SslProxy))
            {
                proxy.SslProxy = SslProxy;
            }

            if (!string.IsNullOrWhiteSpace(SocksProxy))
            {
                proxy.SocksProxy = SocksProxy;
            }

            if (!string.IsNullOrWhiteSpace(SocksUserName))
            {
                proxy.SocksUserName = SocksUserName;
            }

            if (!string.IsNullOrWhiteSpace(SocksPassword))
            {
                proxy.SocksPassword = SocksPassword;
            }

            if (!string.IsNullOrWhiteSpace(ProxyAutoConfigUrl))
            {
                proxy.ProxyAutoConfigUrl = ProxyAutoConfigUrl;
            }

            if (BypassAddresses?.Any() ?? false)
            {
                proxy.AddBypassAddresses(BypassAddresses);
            }

            return(proxy);
        }
示例#2
0
        public Proxy GetProxy()
        {
            if (Proxy != null || ProxyAutoConfigUrl != null)
            {
                var proxy = new Proxy();
                proxy.AddBypassAddresses("localhost", "127.0.0.1");

                if (ProxyAutoConfigUrl != null)
                {
                    proxy.Kind = ProxyKind.ProxyAutoConfigure;
                    proxy.ProxyAutoConfigUrl = ProxyAutoConfigUrl;
                }
                if (Proxy != null)
                {
                    proxy.Kind      = ProxyKind.Manual;
                    proxy.HttpProxy = Proxy;
                    proxy.SslProxy  = Proxy;
                }
                return(proxy);
            }
            return(null);
        }