c# - 如何将代理身份验证详细信息添加到 webclient 对象

标签 c# proxy webclient

我有一些代码会抛出 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");

最佳答案

在找到您的问题之前,我遇到了 407。将您的来源修改为以下内容,这对我有用:

try
{
    var netCred = new NetworkCredential { UserName = "ununun", Password = @"pwpwpw", Domain = @"domain" };
    var webProxy = new WebProxy { Credentials = netCred };
    var webClient = new WebClient { Proxy = webProxy };
    webClient.DownloadFile(url, saveFileName);
}
catch (Exception ex)
{
    Console.WriteLine("Exception:\n{0}\n{1}", ex.Message, ex.StackTrace);
    return;
}

关于c# - 如何将代理身份验证详细信息添加到 webclient 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11228744/

相关文章:

c# - C#WebClient-查看源问题

c# - 将数据从 Controller 绑定(bind)到 View -> Control

c# - 在窗体之间传递对象 C#

java - 在一个对象上获取 HibernateProxy

java - 使用动态代理时,如何访问底层对象的注释?

c# - WebClient 运行 javascript

c# - 使用 TPL-Dataflow 进行聚合和连接(内部、外部、左侧...)?

c# - 如何将 CNG key 导入 keystore ?

.net - 你能解释一下 NHibernate 'proxy' 的基本含义吗?

python - 哪种技术更适合构建基于 Web 的 GUI 客户端?