public static string ToCredentialString(this ICredentials credentials, Uri uri, string authType)
        {
            if (credentials is null)
            {
                throw new ArgumentNullException(nameof(credentials));
            }

            NetworkCredential NetworkCredential = credentials?.GetCredential(uri, authType);

            if (NetworkCredential is null)
            {
                return(string.Empty);
            }

            return(NetworkCredential.ToCredentialString());
        }
Ejemplo n.º 2
0
        public static string GetProxyString(this IWebProxy proxy, Uri destination)
        {
            if (proxy is null)
            {
                throw new ArgumentNullException(nameof(proxy));
            }

            if (destination is null)
            {
                throw new ArgumentNullException(nameof(destination));
            }

            Uri proxyUri = proxy.GetProxy(destination);
            NetworkCredential credentials = proxy.Credentials?.GetCredential(destination, string.Empty);

            // If this URI is not proxied, return an empty string.

            if (proxyUri.Equals(destination))
            {
                return(string.Empty);
            }

            StringBuilder sb = new StringBuilder();

            sb.Append(proxyUri.GetLeftPart(UriPartial.Scheme));

            if (!(credentials is null))
            {
                sb.Append(credentials.ToCredentialString());
                sb.Append("@");
            }

            sb.Append(proxyUri.Host);
            sb.Append(string.Format(":{0}", proxyUri.Port < 0 ? 1080 : proxyUri.Port));

            return(sb.ToString());
        }
Ejemplo n.º 3
0
        public void TestToCredentialStringWithUsernameAndPassword()
        {
            NetworkCredential credential = new NetworkCredential("username", "password");

            Assert.AreEqual("username:password", credential.ToCredentialString());
        }
Ejemplo n.º 4
0
        public void TestToCredentialStringWithUsernameAndPasswordWithReservedCharacters()
        {
            NetworkCredential credential = new NetworkCredential("user:name", "pass:word");

            Assert.AreEqual("user%3Aname:pass%3Aword", credential.ToCredentialString());
        }
Ejemplo n.º 5
0
        public void TestToCredentialStringWithUsernameAndPasswordAndDomainAndAuthType()
        {
            NetworkCredential credential = new NetworkCredential("username", "password", "example.com");

            Assert.AreEqual("username:password", credential.ToCredentialString(new System.Uri("http://example.com"), "Basic"));
        }