远程服务器返回错误:(407)需要代理身份验证

编程入门 行业动态 更新时间:2024-10-20 16:32:15
本文介绍了远程服务器返回错误:(407)需要代理身份验证的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我将此代码与.NET 3.5结合使用,并收到错误远程服务器返回错误:(407)需要代理身份验证。

I use this code with .NET 3.5 and receive error "The remote server returned an error: (407) Proxy Authentication Required."

using (WebClient client = new WebClient()) { WebRequest.DefaultWebProxy.Credentials = CredentialCache.DefaultCredentials; try { string webPageStr = client.DownloadString(URL); Console.WriteLine("OK"); } catch (Exception ex) { Console.WriteLine("FAIL"); Console.WriteLine(ex.Message); } }

但是,此代码可与.NET 4.0一起顺利使用此行足以通过代理身份验证,而不适用于.NET 3.5。

However, this code works smoothly with .NET 4.0 as this line is sufficient to pass the proxy authentication while it is not for .NET 3.5.

WebRequest.DefaultWebProxy.Credentials = CredentialCache.DefaultCredentials;

因此,我尝试了许多其他方法来解决此问题,但没有一种有效:

Therefore, I tried many other ways to solve this problem but none of them works:

1)将CredentialCache.DefaultCredentials行替换为

1) Replace CredentialCache.DefaultCredentials line with

WebRequest.DefaultWebProxy.Credentials = new NetworkCredential(user, password, domain);

2)创建新的代理对象

2) Create new proxy object

IWebProxy proxy = new WebProxy(proxyUrl, port); proxy.Credentials = new NetworkCredential(user, pass, domain); client.Proxy = proxy; client.Credentials = new NetworkCredential(user, pass, domain);

3)添加此行

client.UseDefaultCredentials = true;

4)使用HttpWebRequest代替WebClient并重复上述每个过程。这是示例代码。

4) Use HttpWebRequest instead of WebClient and repeat every procedure above. This is sample code.

HttpWebRequest webRequest = WebRequest.Create(URL) as HttpWebRequest; webRequest.Proxy = WebRequest.DefaultWebProxy; webRequest.Credentials = new NetworkCredential(user, pass, domain); webRequest.Proxy.Credentials = new NetworkCredential(user, pass, domain); try { webRequest.GetResponse(); Console.WriteLine("OK"); } catch (Exception ex) { Console.WriteLine("FAIL"); Console.WriteLine(ex.Message); }

我觉得自己走到了穷途末路,因为必须使用.NET 3.5。我不知道的这两个.NET版本之间一定有区别。

I feel like I come to a dead end as I have to use .NET 3.5. There must be difference between these two .NET versions that I do not know. Thank you very much in advance.

推荐答案

只需将其添加到配置中

<system> <defaultProxy useDefaultCredentials="true" > </defaultProxy> </system>

更多推荐

远程服务器返回错误:(407)需要代理身份验证

本文发布于:2023-11-08 07:16:47,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1568702.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:身份验证   错误   服务器

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!