2011-02-05 49 views
0

我使用HTTPWebRequest/HTTPWebResponse與網站(www.lockerz.com)進行交互。所以,我在網站上進行身份驗證:HttpWebResponse不包含cookies

HttpWebRequest webRequest = (HttpWebRequest) HttpWebRequest.Create("http://www.lockerz.com/auth/login"); 
byte[] bytes = Encoding.ASCII.GetBytes("handle=" + textBoxEmail.Text + "&password=" + textBoxPassword.Text); 
webRequest.ContentType = "application/x-www-form-urlencoded"; 
webRequest.Method = "POST"; 
webRequest.ContentLength = bytes.Length; 
Stream os = webRequest.GetRequestStream(); 
os.Write(bytes, 0, bytes.Length); 

然後我得到的迴應:

HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse(); 

我看使用查爾斯的請求\響應和它說,在響應必須有餅乾,但是當我嘗試製作一個cookies列表時,我知道它沒有cookie!

foreach(Cookie c in webResponse.Cookies) { 
    writeToLog("Cookie Name: " + c.Name + " Value: " + c.Value); 
    cc.Add(c); 
} 

我試着加入的CookieContainer,但它不反正工作。

+3

您是否嘗試附加CookieContainer? http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.cookiecontainer.aspx – 2011-02-05 13:01:43

回答

0

這可能適用於這裏,我有會話的這個問題,所以我會假設對cookie一樣。請撥http://www.lockerz.com/auth/login。但是,如果一個人在沒有「www」的情況下轉到一個頁面。部分網址,那麼他們的cookies將無法存活發送到「www」。網站,因爲它們是不同的網站(就cookie而言)。

我只是將請求發送到「/ auth/login」,這樣,用戶在瀏覽器中的URL就沒有關係。

希望這個工程。