2009-10-28 89 views
0

我使用下面的代碼來創建HttpWebRequest並從響應流中呈現XML。使用本網站需要Cookie。 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 = new CookieContainer();

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

{

使用(StreamReader的讀者=新的StreamReader(resp.GetResponseStream()))

{

sb.Append(reader.ReadToEnd()); 

}

}`

它在我的本地服務器和測試服務器上工作正常,但在UAT服務器上,我得到的響應是「Cookies需要使用本網站」。我不明白爲什麼會發生這種情況。如果我直接瀏覽到URL,則有效的XML將被呈現,但如果使用上述代碼,則不起作用。任何人都可以幫忙嗎?

回答

0

聽起來像服務器期待您沒有發送的cookie。瀏覽到瀏覽器中的URL後,在地址欄中輸入以查看Cookie:javascript:alert(document.cookie);

+0

我照你所說的做了 - 我收到此消息 Internet Explorer無法下載。未指定的錯誤。 – Clark 2009-10-28 16:56:41

+0

這竟然是來自該網站的自定義錯誤消息。我能夠通過傳遞它想要的來解決它 – Clark 2009-10-28 18:15:49