2010-11-10 66 views
2

有時,您可能需要調用一個'登錄'網址,傳入某種用戶名/密碼。網絡服務通常會返回一個cookie,您可以在隨後的請求中使用該cookie。在C#.NET中保存cookie的最佳方法是什麼?

在下面的代碼(C#.NET)中,保存此cookie的正確方法是什麼?

cookies = new CookieContainer(); 
HttpWebResponse response = (HttpWebResponse)req.GetResponse(); 
if (response.StatusCode == HttpStatusCode.OK) 
{ 
    cookies = req.CookieContainer; //*choice 1* 
    cookies.Add(req.CookieContainer.GetCookies(uri)); //*choice 2* 
    cookies.Add(response.Cookies); //*choice 3* 
} 

有了選擇1,似乎沒有成爲一個辦法「追加」返回的CookieContainer到現有的CookieContainer(如果我節省了其他餅乾)。

回答

1

您應該將您現有的cookie容器傳遞給服務器,它會將其返回並加上所做的任何更改。這是Web服務器的正常行爲 - 他們很少清理cookie。

即首先創建cookie容器,然後將其傳遞給HttpWebResponse。沖洗,重複。

相關問題