.NET中的代理身份验证 - 用于外部API

8
我正在使用Twitter API(twitterizer)开发一个Twitter消息实用工具。但是由于我在公司代理内部,出现了“407 Proxy Authentication Required”错误。是否有一种方法在调用API之前对用户进行身份验证或使用默认代理设置?请注意,API在内部使用HttpWebRequest。
2个回答

10

这并没有回答你的问题。但你得到的错误显然是代理身份验证错误。

你可能想要禁用或启用代理。

为了禁用代理,在App.config文件中添加以下配置:

<system.net>
  <defaultProxy enabled="false" useDefaultCredentials="false">
    <proxy/>
    <bypasslist/>
    <module/>
  </defaultProxy>
</system.net>

要启用代理并使用默认代理设置(在IE中指定),请在您的App.config中添加以下配置:

<system.net>
  <defaultProxy enabled="true" useDefaultCredentials="true">
    <proxy/>
    <bypasslist/>
    <module/>
  </defaultProxy>
</system.net>

2
非常感谢!我能够使用useDefaultCredentials="true"来使用默认代理设置。我之前不知道这个...谢谢! - softwarematter

3

其中一个可能的编程解决方案是创建以下代理:

IWebProxy proxy=HttpWebRequest.GetSystemWebProxy();  
proxy.Credentials = CredentialCache.DefaultCredentials;  

然后将其分配给进行网络调用并接受代理的任何对象,例如:

WebClient客户端 = new WebClient();
客户端代理=代理;


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接