使用系统代理设置和身份验证

时间:2016-09-17 17:55:26

标签: c# .net authentication proxy

如何编写我的.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不会问我。

1 个答案:

答案 0 :(得分:0)

您是否已添加代理标记?

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

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