2010-03-04 4 views
1

Im пытается войти на сайт (www.vodafone.ie) с помощью консольного приложения и C# httpWebRequest. Проблема в том, что он работает примерно в 50% случаев.HttpWebRequest sessionID C# login

Я использую скрипач, чтобы узнать запросы GET и POST, которые мне нужно сделать. Сделано это, и мое приложение успешно воссоздает их как можно лучше. Шаги: 1) Запрос GET с контейнером cookie для входа в uri. ответ сервера устанавливает новый файл cookie с именем jsessionID 2) делает запрос POST с учетными данными пользователя и тем же контейнером cookie, что и предыдущий jsessionID.

Глядя на журналы fiddler для успешного входа в систему POST (браузер или мое приложение) Я вижу, что он задает вещь в заголовке ответа: «Set-cookie: supercookie = -; Expires = Thu, 01-Jan-1970 00 : 00: 10 GMT; Path = ". Что это за суперкуки? Его не вернули мне в коллекцию cookie ответов, как jsessionID. В редких случаях по цепочке чисел с суперкуки, а не просто «-».

Я проверил все файлы cookie перед анализом заголовков запроса/ответа. Если супер-файл cookie не задан в ответе, мой логин завершается с ошибкой. Так просто интересно, что здесь происходит?

ура!

ответ

0

supercookie - это просто имя другого файла cookie. Вполне возможно, что они используют это для предотвращения скрипирования экрана. Убедитесь, что когда вы получите ответ, что контейнер cookie теперь содержит этот новый файл cookie supercookie.