Не удается получить куки в wp7 с помощью HttpWebRequest - PullRequest
1 голос
/ 08 марта 2012

Я пытаюсь сохранить куки в пост-запросе. Вот мой код:

        CookieContainer myCookieContainer = new CookieContainer();
        HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(url);
        myHttpWebRequest.ContentType = "application/x-www-form-urlencoded";
        myHttpWebRequest.UserAgent = userAgent;
        myHttpWebRequest.CookieContainer = myCookieContainer;
        myHttpWebRequest.Method = "POST";

        byte[] postdata = encoding.GetBytes(submitString);

        myHttpWebRequest.BeginGetRequestStream(async1 =>
        {
            using (Stream stream = myHttpWebRequest.EndGetRequestStream(async1))
                stream.Write(postdata, 0, postdata.Length);
            myHttpWebRequest.BeginGetResponse(async2 =>
            {
                HttpWebResponse rep = (HttpWebResponse)myHttpWebRequest.EndGetResponse(async2);
                CookieCollection cookies = rep.Cookies;
                using (Stream stream = rep.GetResponseStream())
                using (StreamReader sr = new StreamReader(stream))
                {
                    String content = sr.ReadToEnd();
                    if (pageDownloadedEventHandler != null)
                        pageDownloadedEventHandler(content);
                }
            }, null);
        }, null);

Всегда CookieContainer пуст. Как получить печенье?

1 Ответ

1 голос
/ 09 марта 2012

Ваш код кажется идеальным, если сервер отправляет вам любые файлы cookie, вы должны увидеть их в rep.Cookies, а также в myCookieContainer.

Если вы хотите быть уверенным, используйте Fiddler или Wiresharkанализируйте сетевой трафик HTTP и ищите куки, но если я прав, вы их не найдете.В этом случае моя идея состоит в том, чтобы проанализировать сетевой трафик, выполняя тот же запрос с вашим браузером, возможно, приложение php / asp.net / other решило не устанавливать файлы cookie из-за некоторых отсутствующих заголовков запросов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...