Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: разработка для Web > Робот при "многоступенчатой" авторизации


Автор: Zuzu 7.3.2007, 12:41
Добрый день, уважаемые.

Робот запускается на клиентской машине из-под Windows. Его задача - отправить что-то на сайт, пройдя "два круга авторизации"

Есть такой вот MSS (Основной Успешный Сценарий smile ) для работы робота.

1. Робот заходит на сайт и проходит авторизацию, реализованную средствами Apache (тип: Basic), 
  передает сайту имя входа и пароль.

2. На полученной странице (Назовем ее "Введите имя входа и пароль")- заполнить (другими  значениями имени входа и пароля) два поля формы, отослать ее серверу.

(очевидно, вместе с этими данными посылаются на сервер и данные, говорящие о предыдущей успешной авторизации smile )

3. Получить cookie - номер сессии. Это признак успешной второй авторизации.

4. Используя правильные данные Apache-авторизации и полученный номер сессии (cookie) вызвать некоторый скрипт (типа заполнить форму) и занести нужные данные на сервер. Получить страницу-ответ, проанализировать ее, если нет ничего подозрительного - проигнорировать.

п. 4 повторять много раз с разными данными (как вариант - это закачка всех файлов из определенного каталога пользовательской машины на сервер).

А теперь вопрос.

Какие модули использовать? Может сразу отключить Apache-авторизацию и не мучаться smile (в принципе, возможный вариант)?

Автор: nitr 7.3.2007, 16:44
Неочень ясен вопрос, жду заковырки, или он прост или он сложен smile
Я использую LWP, но если что-то не выходит, то можно IO::Socket smile хотя это уже реализации.

Работа с одним сервером? smile

Автор: Zuzu 7.3.2007, 17:17
Сервер один. 

При заходе на страницу он сначала "выплевывает" окошечко с авторизацией Apache (через .htaccess), после ввода туда корректного имени и пароля - получаем HTML-форму для ввода следующей парвы имени входа и пароля (следующий этап авторизации -- да, да, не смейтесь, таково было требование Заказчика - двойная авторизация!). При правильном вводе последних - сервер ставит куку клиенту и ползователь свободно ходит по сайту, ничего больше не вводя (всю черновую работу по передаче разных кук и признака первой автоизации выполняет за него браузер).

Подозреваю, что должно быть просто. Просто ни разу не делал подобные рОботы. 

Собственно, спасибо. Пошел читать LWP.

Добавлено @ 17:26 
P.S. ТОже жду подвоха в реализации - немного "клинит" наличие двух типов авторизации одновременно smile

Автор: nitr 7.3.2007, 18:25
Цитата(Zuzu @  7.3.2007,  17:17 Найти цитируемый пост)
P.S. ТОже жду подвоха в реализации - немного "клинит" наличие двух типов авторизации одновременно smile

Имхо ничего страшного smile Просто повозишься немного и всё, но думаю разобраться несложно тебе.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)