2011-02-05 22 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就没有关系。

希望这个工程。