Sio*_*Sio 17 .net proxy httpclient .net-4.0
我有一个基于.NET 4构建的控制台应用程序,它使用HttpClient
库(通过NuGet获取)通过Internet从公共API检索数据.控制台应用程序位于代理后面.它所在的Windows机器在Internet Explorer中具有正确的代理设置.当控制台应用程序尝试访问外部世界时,它将获得407状态 - "需要代理身份验证".
我还没有写任何特定的代码来处理代理.我假设从407错误,应用程序指向代理没有问题,但代理不验证请求.
我的问题是,是否可以设置HttpClient使用登录用户的凭据来验证代理?如果是这样,怎么样?
var client = new HttpClient(webRequestHandler);
client.PostAsync(RequestUri, MyContent);
Run Code Online (Sandbox Code Playgroud)
Sio*_*Sio 31
我设法通过app.config中的代理配置非常简单地解决了我的问题.
<system.net>
<defaultProxy enabled="true" useDefaultCredentials="true">
<proxy usesystemdefault="True" />
</defaultProxy>
</system.net>
Run Code Online (Sandbox Code Playgroud)
http://msdn.microsoft.com/en-us/library/dkwyc043.aspx
Jaa*_*ans 19
如果您想以编程方式执行相同操作,可以使用以下命令:
WebRequest.DefaultWebProxy.Credentials = CredentialCache.DefaultNetworkCredentials;
Run Code Online (Sandbox Code Playgroud)
(这些对象来自`System.Net'命名空间).
来自MSDN的更多信息:http://msdn.microsoft.com/en-us/library/system.net.webproxy.getdefaultproxy.aspx
归档时间: |
|
查看次数: |
9737 次 |
最近记录: |