WebClient:凭证+代理:(401)未经授权

时间:2014-10-16 10:06:38

标签: c# .net authentication proxy webclient

以下内容正在Windows 8和7上进行测试。

我有这个代码,它不在代理后面工作:

        var client = new WebClient();
        client.Credentials = new NetworkCredential(USER, PASS);

        client.DownloadFile("http://mydns/subfolder/myfile.zip")

客户端USER和PASS是服务器上的本地用户。

当我将其与代理组合时,我不断收到401错误:

            var proxy = WebRequest.DefaultWebProxy;
            proxy.Credentials = CredentialCache.DefaultCredentials;
            client.Proxy = proxy;

客户端配置了正确的代理,因为使用浏览器我可以转到所需的URL。 我也试过手动设置代理凭据,但这也不起作用:

            WebProxy proxy;

            if(_proxySetting.Port != null)
                proxy = new WebProxy(_proxySetting.Server, _proxySetting.Port);
            else
                proxy = new WebProxy(_proxySetting.Server);

            if(!string.IsNullOrEmpty(_proxySetting.Username))
            {
                proxy.Credentials = new NetworkCredential(_proxySetting.Username, _proxySetting.Password);
            }

            client.Proxy = proxy;

我已经尝试了以下几页中解释的内容,但没有任何运气:

WebClient generates (401) Unauthorized error

C# webclient and proxy server

http://www.vbforums.com/showthread.php?517076-RESOLVED-2005-WebClient-Credentials-allways-getting-401

任何帮助都非常受欢迎,因为我完全没有想法。

0 个答案:

没有答案