Question

J'utilise le code suivant pour créer un HttpWebRequest et restituer le code XML à partir du flux de réponses.

` 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 = new CookieContainer ();

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

{

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

{

  sb.Append(reader.ReadToEnd());

}

} `

Cela fonctionnait bien sur mon serveur local et mon serveur de test, mais sur le serveur UAT, je reçois la réponse suivante: "Les cookies sont nécessaires pour utiliser ce site". Je ne comprends pas pourquoi c'est arrivé. Si je navigue directement vers l'URL, un XML valide est rendu, mais cela ne fonctionne pas si vous utilisez le code ci-dessus. Quelqu'un peut-il aider s'il vous plaît?

Était-ce utile?

La solution

Il semble que le serveur attend un cookie que vous n'envoyez pas. Une fois que vous avez accédé à l'URL dans le navigateur, entrez-le dans la barre d'emplacement pour afficher les cookies: javascript: alert (document.cookie);

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top