在.NET WebRequest中处理重定向

10

我在防火墙后面,它要求我在访问互联网之前输入凭据。因此,我的第一个HTTP请求被拦截,然后重定向到提示我输入凭据的安全服务器,但服务器证书无效,因此我的request.getResponse失败,并出现异常消息:“底层连接已关闭。 无法建立SSL / TL安全通道的信任关系”

WebRequest googleRequest = WebRequest.Create("http://74.125.67.100");
try {WebResponse response = googleRequest.GetResponse();}
catch(WebException ex){System.Console.WriteLine("ex.message");}

实际上我想要的是获取重定向响应的Location头,这样我就可以使用无效证书与服务器建立ssl连接。感谢您的建议。

1个回答

18

关闭初始请求的自动重定向。然后,您可以提取标头并通过发出新请求手动执行重定向。

HttpWebRequest wr = 
(HttpWebRequest)System.Net.WebRequest.Create("http://www.mySite.com"); 
wr.AllowAutoRedirect = false; 

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