Http веб-запрос не поддерживает сеанс - PullRequest
3 голосов
/ 16 марта 2010

У меня есть программа, в которой я хочу получить полезные учебные материалы для меня. Этот сайт поддерживает сеансовый ключ и некоторые другие ключи. Если я пытаюсь перейти на вложенную страницу, то она выкинет меня и покажет сообщение сеанса. Мне не удалось сохранить ключ сеанса в классе веб-запроса. поэтому, пожалуйста, дайте мне некоторое представление о том, как я могу поддерживать сеанс в классе веб-запроса.

Ответы [ 3 ]

8 голосов
/ 16 марта 2010

Вы должны поддерживать CookiesCollection для ваших запросов.

var request = (HttpWebRequest)HttpWebRequest.Create("http://www.mysite.com/");
var cookies = new CookieContainer();

//Pass the collection along with each request to maintain session
request.CookieContainer = cookies;

Когда вы получите ответ, ваш контейнер автоматически будет содержать набор файлов cookie, связанных с ним. Затем вы можете повторно использовать этот контейнер с последующими запросами.

0 голосов
/ 16 марта 2010

Получилась похожая проблема при встраивании страницы в iFrame. Решение состоит в том, что в целях безопасности сессии удаляются браузерами (в основном IE8) Может быть, это сплоченность? Google для P3P, чтобы получить больше информации.

-sa

0 голосов
/ 16 марта 2010

По сути, вы захотите прочитать куки-файл сеанса из заголовка ответа и передавать его обратно в заголовок при каждом запросе. Это может быть больше в зависимости от целевого приложения.

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