2010-03-16 121 views
3

我有程序,我想爲我取消一些有用的學習資料。 此網站還維護會話密鑰和其他一些密鑰。 如果我試圖去嵌套頁面,那麼它會拋出我並顯示會話消息。 我無法在Web請求類中維護會話密鑰。 所以請給我一些想法,我如何維護Web請求類中的會話。Http web請求不會保留會話

回答

8

您需要在整個請求中維護CookiesCollection。

var request = (HttpWebRequest)HttpWebRequest.Create("http://www.mysite.com/"); 
var cookies = new CookieContainer(); 

//Pass the collection along with each request to maintain session 
request.CookieContainer = cookies; 

當您收到迴應時,您的容器將自動包含與其關聯的一組Cookie。然後您可以在隨後的請求中重複使用該容器。

0

本質上,您將希望從響應標題中讀取會話cookie,並在發出每個請求時將其傳回到標題中。根據您的目標應用程序,可能還有更多。

0

在將頁面嵌入到iFrame中時出現類似問題。解決方案是,出於安全目的,瀏覽器會丟棄會話(主要是IE8)。也許這是一個污點? Google爲P3P獲取更多信息。

-sa