|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
08.05.2012, 00:20 | #1 |
Регистрация: 08.05.2012
Сообщений: 5
|
[Вопрос] Авторизация vBulletin (Delphi or C++)
Доброго времени суток. Я столкнулся с проблемой и не знаю с какой стороны подойти к ее решению, может здесь мне подскажут как быть
Имеется форум на движке vBulletin. На этом форуме есть мини веб-чат (чат виден только для зарегистрированных пользователей). Я решил написать программу, которая, вместо браузера позволяла бы в этом чате общаться. Казалось бы, все что нужно я сделал. Написал прогу на делфи. Авторизуюсь на сайте пост запросом, получаю капчу, отправляю текст капчи. Получаю куки (bbsessionhash). Гет запросом получаю код странички с чатом. Парсю securitytoken. Этот толкен отправляется пост запросом для обновления чата каждые 30 сек. Получаю код чата, вытягиваю с него сообщения и ники пользователей и отображаю их в программе. Все работает как часики, за исключением одного момента. Если 30 мин (ровно) не проявлять активности в чате (не отсылать сообщений, только принимать их), от сервера приходят новые куки bbsessionhash, bblastvisit и bblastactivity. После этого securitytoken = guest и чат становится недоступным для просмотра. Я так понял, сайт завершает сессию авторизации. Вопрос заключается в том, как с этим бороться? В браузере, сессия не завершается вообще (оставил комп на ночь с открытым чатом, утром он все еще был доступен). Подскажите хотя бы в каком направлении копать... Очень надеюсь на помощь специалистов. |
08.05.2012, 00:58 | #2 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Чисто теоретически:
Перехватите пакеты, отправляемые браузером и вашей программой. Отличие может заключаться в том, что какой-то параметр отвечает за короткую сессию. А может быть браузер сам переавторизуется с новыми куками?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
Последний раз редактировалось BDA; 08.05.2012 в 01:02. |
08.05.2012, 10:02 | #3 |
Регистрация: 08.05.2012
Сообщений: 5
|
Наверно так и придется делать, но ужасно не хочется просматривать все пакеты за 30 минут работы браузера =\
|
08.05.2012, 13:24 | #4 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Возможно, не понадобится смотреть все пакеты.
Сначала посмотрите на первые пакеты, которые авторизуются. Нет ли там параметра, указывающего на короткую сессию. Во-вторых, оставить чарльз и браузер на полчаса, по-моему, не проблема. Потом осуществить поиск по словам bbsessionhash, bblastvisit и bblastactivity и найти время их получения. Тогда смотреть пакеты после этого времени.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
08.05.2012, 21:42 | #5 |
Регистрация: 08.05.2012
Сообщений: 5
|
Воспользовался вашим советом и кажется понял почему вылезла такая проблема. При авторизации сайт высылает куки bbsessionhash, bblastvisit, bblastactivity, bbpassword.
Браузер их принимает и отсылает при любом запросе. А вот моя программа отсылает при запросах только bbsessionhash. В моей проге IdCookieManager1.CookieCollection.C ount равно 1, а должно быть 4, потому что приходит 4 печеньки Версия Indy 10.5.8 (последняя). Как мне быть? Почему такое происходит... |
08.05.2012, 22:21 | #6 |
Регистрация: 08.05.2012
Сообщений: 5
|
Определил что bbsessionhash приходит первым. После него куки не принимаются. НО есть еще разница, в bbsessionhash срок действия куки не указан, а у остальных - указан.
Проблема явно с инди... Или инди не правильно работает, или я неправильно использую |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Авторизация на vbulletin (POST) | IndomiX | Работа с сетью в Delphi | 10 | 19.02.2012 21:11 |
Авторизация в игре Delphi | Diunix | Общие вопросы Delphi | 4 | 10.10.2011 11:06 |
Авторизация на yandex.money. Вопрос. | webber9989 | Работа с сетью в Delphi | 4 | 11.08.2011 09:41 |
Вопрос: Авторизация IdHTTP и WebBrowser | mental | Работа с сетью в Delphi | 3 | 14.02.2011 01:20 |
Авторизация в Delphi | KiRiLl13 | Общие вопросы Delphi | 3 | 27.02.2009 07:57 |