c# HttpWebResponse en-Tête de l'encodage

J'ai le problème suivant. - Je contacter une adresse que je connais utilise une redirection 301.

à l'aide de HttpWebRequest loHttp = (HttpWebRequest)WebRequest.Create(lcUrl);
et loHttp.AllowAutoRedirect = false; de sorte que je ne suis pas redirigé.

Maintenant, je reçois l'en-tête de la réponse afin d'identifier les nouvelles url.

à l'aide de loWebResponse.GetResponseHeader("Location");

Le problème est que depuis cette url contient des caractères grecs la chaîne renvoyée est tout mélangés (due à l'encodage).

L'intégralité de l'image codewise:

HttpWebRequest loHttp = (HttpWebRequest)WebRequest.Create(lcUrl);
loHttp.ContentType = "application/x-www-form-urlencoded";
loHttp.Method = "GET";

Timeout = 10000;

loHttp.AllowAutoRedirect = false;
HttpWebResponse loWebResponse = (HttpWebResponse)loHttp.GetResponse();

string url= loWebResponse.Headers["Location"];
Par défaut HttpWebRequest va suivre les redirections, donc si un serveur envoie 301/302 code de statut une nouvelle demande sera émis pour aller chercher de la ressource à l'aide de la Location en-tête. Donc, une fois que cette dernière ressource est extraite, il n'y aura plus un Location tête dans la réponse, alors je me demande comment se fait-il qu' loWebResponse.GetResponseHeader("Location") retourne rien d'autre qu'une chaîne vide. Cela mis à part, avez-vous vérifié avec FireBug que le site effectue un encodage correct sur le Location en-tête?
Je n'ai pas préciser que " loHttp.AllowAutoRedirect = false;' est réglé afin que je puisse inspecter l'url de redirection

OriginalL'auteur Alexandros B | 2009-12-11