2009-10-28 6 views
0

J'utilise le code suivant pour créer une requête HttpWebRequest et générer le code XML à partir du flux de réponses.Des cookies sont requis pour utiliser ce site. HttpWebRequest/HttpWebResponse Cookies

` HttpWebRequest req = (HttpWebRequest) HttpWebRequest.Create (url);

req.Accept = "/";

req.Headers.Add ("UA-CPU", "x86");

req.UserAgent = "Mozilla/4.0 (compatible, MSIE 7.0, Windows NT 6.0, MS-RTC LM 8)";

req.CookieContainer = nouveau CookieContainer();

utilisant (resp HttpWebResponse = (HttpWebResponse) req.GetResponse())

{

utilisant (lecteur StreamReader = new StreamReader (resp.GetResponseStream()))

{

sb.Append(reader.ReadToEnd()); 

}

} `Cela fonctionnait correctement sur mon serveur local et mon serveur de test, mais sur le serveur UAT, j'obtiens la réponse "Les cookies sont nécessaires pour utiliser ce site". Je ne comprends pas pourquoi cela arrive. Si je navigue directement vers l'URL, le XML valide est rendu mais cela ne fonctionne pas si j'utilise le code ci-dessus. Quelqu'un peut-il aider s'il vous plaît?

Répondre

0

Il semble que le serveur attend un cookie que vous n'envoyez pas. Après avoir navigué jusqu'à l'URL dans le navigateur, tapez ceci dans la barre d'adresse pour voir les cookies: javascript:alert(document.cookie);

+0

J'ai fait comme vous l'avez dit - Je reçois ce message Internet Explorer ne peut pas télécharger. Erreur non spécifiée. – Clark

+0

Cela s'est avéré être un message d'erreur personnalisé du site. J'ai été capable de le résoudre en passant ce qu'il voulait – Clark