WebClient和CredentialCache(.net)

时间:2015-07-24 07:12:43

标签: .net proxy webclient

我有以下代码:

WebClient webClient = new WebClient();
webClient.DownloadString(url);

我在Internet选项中配置了代理。代理需要身份验证。如果我在Internet Explorer中填写我的凭据,它就可以。

但是,它不适用于webClient。我正在使用Wireshark进行调试,以确保我完全理解它。如果我做

 webClient.Proxy = new NetworkCredential("<myusername>", "<mypassword>");

然后我在Wireshark中看到带有凭据的CONNECT请求,代理工作。

但是,我也试过了

webClient.UseDefaultCredentials = true;

webClient.Proxy.Credentials = System.Net.CredentialCache.DefaultCredentials;

webClient.Proxy.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;

在这些情况下,我都没有看到任何凭据的CONNECT请求。即使我已经在IE中,Chrome中以及应用程序中包含的浏览器中填写了凭据。它们确实显示在“用户帐户”中的“管理您的凭据”下。

我无法检查CredentialCache是​​否具有值,因为它始终为空。

目标框架是.NET 3.5,使用Visual C#2010。我还没有尝试在app.config中设置它,因为我还不知道这对我正在构建的内容是否实用。

我做错了吗?误会了什么?有没有办法检查CredentialCache是​​否设置了任何值?

0 个答案:

没有答案