diff --git a/CryptoExchange.Net/ExtensionMethods.cs b/CryptoExchange.Net/ExtensionMethods.cs index 8037ede..f5600e1 100644 --- a/CryptoExchange.Net/ExtensionMethods.cs +++ b/CryptoExchange.Net/ExtensionMethods.cs @@ -1,5 +1,4 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Linq; @@ -491,7 +490,6 @@ namespace CryptoExchange.Net return ub.Uri; } - } } diff --git a/CryptoExchange.Net/Sockets/CryptoExchangeWebSocketClient.cs b/CryptoExchange.Net/Sockets/CryptoExchangeWebSocketClient.cs index 2da863d..9371231 100644 --- a/CryptoExchange.Net/Sockets/CryptoExchangeWebSocketClient.cs +++ b/CryptoExchange.Net/Sockets/CryptoExchangeWebSocketClient.cs @@ -212,7 +212,13 @@ namespace CryptoExchange.Net.Sockets /// public virtual void SetProxy(ApiProxy proxy) { - _socket.Options.Proxy = new WebProxy(proxy.Host, proxy.Port); + Uri.TryCreate($"{proxy.Host}:{proxy.Port}", UriKind.Absolute, out var uri); + _socket.Options.Proxy = uri?.Scheme == null + ? _socket.Options.Proxy = new WebProxy(proxy.Host, proxy.Port) + : _socket.Options.Proxy = new WebProxy + { + Address = uri + }; if (proxy.Login != null) _socket.Options.Proxy.Credentials = new NetworkCredential(proxy.Login, proxy.Password); }