HttpWebResponse не содержит куки - PullRequest
       43

HttpWebResponse не содержит куки

0 голосов
/ 05 февраля 2011

Я использую 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();

Я наблюдаю запросы \ ответы, используя Чарльза, и он говорит, что в ответе естьдолжны быть куки, но когда я пытаюсь составить список куки, которые я получаю, он говорит, что куки нет!

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

Я пытался добавить CookieContainer, но он все равно не работает.

1 Ответ

0 голосов
/ 05 февраля 2011

Это может применяться здесь, у меня была эта проблема с сессиями, поэтому я предполагаю то же самое для файлов cookie.

Вы звоните по номеру: http://www.lockerz.com/auth/login. Но если человек переходит на страницу без "www." часть URL, тогда их куки не выживут при отправке на "www." сайт, потому что это разные сайты (что касается файлов cookie).

Я бы просто сделал запрос на "/ auth / login", таким образом, не имеет значения, что у пользователя в качестве URL-адреса в браузере.

Надеюсь, это сработает.

...