我正在使用HTTPWebRequest
/ HTTPWebResponse
与该网站进行互动(www.lockerz.com)。所以,我在网站上进行身份验证:
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();
我正在使用Charles查看请求\响应,它说在响应中必须有cookie,但是当我尝试列出cookie时,我得到它说没有cookie!
foreach(Cookie c in webResponse.Cookies) {
writeToLog("Cookie Name: " + c.Name + " Value: " + c.Value);
cc.Add(c);
}
我已尝试添加CookieContainer,但无论如何它都无法正常工作。
答案 0 :(得分:0)
这可能适用于此,我在会话中遇到了这个问题,因此对于Cookie我会假设相同。
您正在致电:http://www.lockerz.com/auth/login。但如果一个人没有“www”就去了一个页面。网址的一部分,然后他们的cookie将无法生存发送到“www”。网站,因为它们是不同的网站(就cookie而言)。
我只是将请求发送到“/ auth / login”,这样,用户在浏览器中使用的内容无关紧要。
希望这有效。