Обработка перенаправления в .NET WebRequest - PullRequest
9 голосов
/ 09 января 2010

Я нахожусь за брандмауэром, который просит меня ввести учетные данные, прежде чем дать мне доступ к Интернету. Таким образом, мой первый 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 Ответ

17 голосов
/ 09 января 2010

Отключить авто-перенаправление при первоначальном запросе. Затем вы сможете извлечь заголовок и выполнить перенаправление вручную, сделав новый запрос.

HttpWebRequest wr = 
(HttpWebRequest)System.Net.WebRequest.Create("http://www.mySite.com"); 
wr.AllowAutoRedirect = false; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...