2010-01-09 7 views
9

Je suis derrière un pare-feu qui me demande d'entrer des informations d'identification avant de me laisser accéder à Internet. Donc, ma première requête http est interceptée puis redirigée vers un serveur sécurisé qui me demande d'entrer mes informations d'identification, mais le certificat du serveur n'est pas valide et par conséquent, mon request.getResponse échoue avec le message d'exception: "la connexion sous-jacente était fermée. d'établir une relation de confiance pour le SSL/TL canal sécurisé »Gestion de la redirection dans .NET WebRequest

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

en fait, ce que je veux est d'obtenir l'en-tête de localisation de la réponse qui me réoriente, afin que je puisse ensuite établir une connexion SSL avec le serveur avec invalide certificat. Je serai reconnaissant pour les suggestions.

Répondre

16

Désactiver la redirection automatique sur la demande initiale. Ensuite, vous serez en mesure de retirer l'en-tête et faire la redirection manuellement en faisant une nouvelle demande.

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