【发布时间】:2023-03-21 01:28:01
【问题描述】:
我有一些代码抛出 407 未经授权的异常。
我正在尝试下载一个文件,下面是我的示例代码。我尝试过使用 netcredentials 和 webproxy,但徒劳无功。
WebClient webClient = new WebClient();
NetworkCredential netCred=new NetworkCredential();
netCred.UserName="<<userid>>";
netCred.Password="<<password>>";
netCred.Domain="<<windowsdomainname>>";
webClient.Credentials = netCred;
WebProxy wp = new WebProxy();
wp.Credentials = netCred;
wp.Address = new Uri(@"http://proxy-xx.xxxx.co.uk:8080/proxy.pac");
webClient.Proxy = wp;
webClient.DownloadFile("http://www.win-rar.com/postdownload.html?&L=0", @"c:\winrar.exe");
【问题讨论】:
-
你为什么使用代理而不是直接下载。
-
@Furqan 非常感谢您的回复。我尝试使用 NetworkCredentials,但无法添加 WebProxy。这是一个桌面应用程序。因为我使用的是公司网络,所以它会要求我进行代理身份验证。我想避免这种情况。因此想向我的 webclient 对象添加凭据。
-
好的,然后删除
webClient.Credentials = netCred;这一行,然后重试。 -
再次感谢!不幸的是,同样的错误仍然存在。 407 - 需要身份验证。
-
您确定您的代理需要身份验证,并且文件所在的 Web 服务器没有询问此问题。
标签: c# proxy webclient-download