我使用以下代码制作HttpWebRequest并从响应流中呈现XML。

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

req.Accept =" / &quot ;;

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

req.UserAgent =" Mozilla / 4.0(兼容; MSIE 7.0; Windows NT 6.0; MS-RTC LM 8)&quot ;;

req.CookieContainer = new CookieContainer();

使用(HttpWebResponse resp =(HttpWebResponse)req.GetResponse())

{

使用(StreamReader reader = new StreamReader(resp.GetResponseStream()))

{

  sb.Append(reader.ReadToEnd());

}

}`

它在我的本地服务器和测试服务器上工作正常,但在UAT服务器上,我收到响应为“使用此网站需要Cookie”。我不明白为什么会这样。如果我直接浏览到URL,则会生成有效的XML,但如果使用上面的代码则无效。有人可以帮忙吗?

有帮助吗?

解决方案

听起来服务器正在等待你没有发送的cookie。浏览到浏览器中的URL后,在位置栏中输入以查看cookie: javascript:alert(document.cookie);

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top