我在防火墙后面要求我在让我访问互联网之前输入凭据。因此,我的第一个http请求被截获,然后重定向到一个安全服务器,提示我输入我的凭据。因此,当我向google.com发送获取请求时,我会收到以下标题的回复 172.24.64.1是有问题的服务器。
连接关闭
Content-Length 225
缓存控制无缓存
Content-Type text / html
位置https://172.24.64.1:1005/x?70cea2e7d3de9b77
然后我抓住重定向我的响应的Location标头,然后尝试与服务器建立无效证书的连接。
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 :(得分:0)
401表示连接成功,但现在可能通过NTLM / Negotiate挑战您的身份验证凭据。您需要附加Web请求的凭据才能自动进行身份验证。 (例如,参见HttpWebRequest not passing Credentials)
您可以使用Fiddler(www.fiddler2.com)观看此流量并了解正在发生的事情。