2016-09-17 85 views
0

如何编写我的.NET应用程序,以便它可以通过需要身份验证的系统默认代理连接到HTTP服务器?通过身份验证使用系统代理设置

我使用HttpWebRequest,我已经试过这样:

request.Proxy = WebRequest.GetSystemWebProxy(); 

没有任何效果。我可以离开它。

request.Proxy.Credentials = CredentialCache.DefaultCredentials; 

仍然没有效果。

在app.config中:

<configuration> 
    <system.net> 
    <defaultProxy useDefaultCredentials="true"/> 
    </system.net> 
</configuration> 

而且,什么都没有。始终HTTP错误407. Fiddler告诉我,客户端请求根本没有验证头,甚至没有错误。

我还有其他选择吗?

我的测试环境是Windows 10和Fiddler本地代理上的.NET 4.0应用程序,并带有“需要代理身份验证”选项。我知道用户名和密码都是“1”,并且这可以在Internet Explorer中使用。首先,IE要求提供凭证,然后我输入它并加载页面。我没有检查“保存”选项,但它仍然记住它。现在我无法保存它,因为IE不会问我。

回答

0

您是在代理标签中加入的?

<defaultProxy> 
     <proxy usesystemdefault="true"/>  
</defaultProxy> 

这应该推动它从IE读取设置。

+0

它应该阅读'“True”',至少它说'“true”'是无效的。但错误仍然存​​在。所以这没有帮助。 – ygoe