2010-01-09 47 views
1

我在让我访问互联网之前让我输入凭证的防火墙后面。所以我的第一个http请求被拦截,然后重定向到一个安全的服务器,提示我输入我的凭证。因此,当我向Google.com发送获取请求时,我收到以下标题的回复。 172.24.64.1是有问题的服务器。C#无效的服务器证书处理

连接紧密

内容长度225

的Cache-Control无缓存

内容类型text/html

位置https://172.24.64.1:1005/x?70cea2e7d3de9b77

然后我得到的保持重定向我的响应的位置标题,然后尝试与具有无效certif的服务器建立连接icate。

HttpWebRequest loginRequest = (HttpWebRequest)HttpWebRequest.Create(location); 

然而,loginRequest.GetResponse()失败,异常消息:“的基础连接已关闭无法为SSL/TLS安全通道的信任关系。”

然后我把这个线我的代码前要求HttpWebResponse行: Using a self-signed certificate with .NET's HttpWebRequest/Response

ServicePointManager.ServerCertificateValidationCallback = delegate {return true;};

不过,我得到以下异常:

远程服务器返回错误:(401)未经授权。

但是,我没有看到上述标题中的任何身份验证请求。所以我不明白问题是什么。有人可以建议我在这种情况下应该做什么。

回答

0

401表示连接成功,但它现在正在通过NTLM/Negotiate挑战身份验证凭据。您需要为您的网络请求附加凭证才能自动进行身份验证。 (例如,请参阅HttpWebRequest not passing Credentials

您可以使用Fiddler(www.fiddler2.com)观看此流量并了解发生了什么。

相关问题