Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> автоматический ввод данных на форме (html)и submit, данных 
:(
    Опции темы
olegrolik
Дата 6.1.2008, 19:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 309
Регистрация: 25.1.2006

Репутация: нет
Всего: нет



Есть форма для регистрации. Требуется сделать робота, который автоматически бы регистрировал нового юзера. 
Возможно это относится к спаму и запрещено - прощу прощения.
Подскажите в какую сторону смотреть, или даже примерчик дайте. Спасибо smile
P.S. предполагаю, что это относится к парсингу html.
PM MAIL   Вверх
nornad
Дата 6.1.2008, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

Репутация: нет
Всего: 31



Вполне можно распарсить хтмл, получить тег формы, выдрать из него все нужные элементы и атрибут action, составить запрос и выполнить его. Не вижу сложностей. Один раз смотришь код страницы регистрации и один раз пишешь бота. Только админы тебе точно за такое спасибу не скажут. smile 


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
Tony
  Дата 7.1.2008, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

Репутация: 6
Всего: 12



Bil v java takoj klass vrode Robot nazivalsj. Karo4e on mozhet: stavitь kursor v nuzuju poziciju(koordinati),vbivatь tekst, nazmimatь enter....


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
Alexis
Дата 7.1.2008, 12:09 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 14.8.2006
Где: Казань

Репутация: 5
Всего: 5



Посмотрите на библиотеки для Unit-тестирования веб-интерфейсов, например http://httpunit.sourceforge.net/

Работать с ней достаточно просто, в вашем случае будет что-то вроде:
Код

WebConversation conversation = new WebConversation();
WebRequest request = new GetMethodWebRequest("http://www.domain.com/registration.jsp");
WebResponse response = conversation.getResponse(request);

WebForm registrationForm = response.getFormWithID("registrationForm");
registrationForm.setParameter("name", name);
registrationForm.setParameter("email", email);
registrationForm.setParameter("password", password);
response = logonForm.submit();


Так же HttpUnit поддерживает JavaScript, несколько библиотек для парсинга HTML, можно довольно гибко все настраивать. Короче, удобная штука.
PM   Вверх
Kangaroo
Дата 7.1.2008, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

Репутация: 14
Всего: 104



Цитата(Alexis @  7.1.2008,  11:09 Найти цитируемый пост)
Посмотрите на библиотеки для Unit-тестирования веб-интерфейсов, например http://httpunit.sourceforge.net/

Можна также ActiWATE посмотреть.



--------------------
Lost....
PM MAIL MSN   Вверх
olegrolik
Дата 9.1.2008, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 309
Регистрация: 25.1.2006

Репутация: нет
Всего: нет



Всем большое спасибо!  smile 
PM MAIL   Вверх
olegrolik
Дата 25.11.2008, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 309
Регистрация: 25.1.2006

Репутация: нет
Всего: нет



Alexis, а нет ли примера с Java Script?
Есть такая вот ссылка - "<a href="javascript:uploadPrompt('welcomeSSA.wav')"><img src="/appadmin/images/upload.gif" border="0" alt="Upload"></a>"
При нажатии на неё из браузера открывается новое окно.
Читая доку, ничего не нашёл про то, как это сделать.

PM MAIL   Вверх
Samotnik
Дата 25.11.2008, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 5
Всего: 191



olegrolik, что сделать нужно ? 
я не вижу связи с первым постом (просьба о создании регистрации юзера) и последним(ссылка с upolad файла )  smile 
PM MAIL   Вверх
olegrolik
Дата 25.11.2008, 18:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 309
Регистрация: 25.1.2006

Репутация: нет
Всего: нет



Цитата(Alexis @ 7.1.2008,  12:09)
Посмотрите на библиотеки для Unit-тестирования веб-интерфейсов, например http://httpunit.sourceforge.net/

Работать с ней достаточно просто, в вашем случае будет что-то вроде:
Код

WebConversation conversation = new WebConversation();
WebRequest request = new GetMethodWebRequest("http://www.domain.com/registration.jsp");
WebResponse response = conversation.getResponse(request);

WebForm registrationForm = response.getFormWithID("registrationForm");
registrationForm.setParameter("name", name);
registrationForm.setParameter("email", email);
registrationForm.setParameter("password", password);
response = logonForm.submit();


Так же HttpUnit поддерживает JavaScript, несколько библиотек для парсинга HTML, можно довольно гибко все настраивать. Короче, удобная штука.

вместо http://www.domain.com/registration.jsp надо вызвать javascript javascript:uploadPrompt('welcomeSSA.wav'), дальше всё тоже самое.
PM MAIL   Вверх
Samotnik
Дата 25.11.2008, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 5
Всего: 191



olegrolik, туда можно передать только путь к источинику (html, jar, sp, и т.д.)
как вариант сделать такое
Код

WebRequest request = new GetMethodWebRequest("/путь/к/wav/файлу/welcomeSSA.wav");


Добавлено через 34 секунды
olegrolik, либо путь к  JavaScript'у  который подгрузит этот файлик 
PM MAIL   Вверх
olegrolik
Дата 25.11.2008, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 309
Регистрация: 25.1.2006

Репутация: нет
Всего: нет



Цитата(Samotnik @ 25.11.2008,  18:36)
olegrolik, туда можно передать только путь к источинику (html, jar, sp, и т.д.)
как вариант сделать такое
Код

WebRequest request = new GetMethodWebRequest("/путь/к/wav/файлу/welcomeSSA.wav");


Добавлено @ 18:37
olegrolik, либо путь к  JavaScript'у  который подгрузит этот файлик

не катит.
PM MAIL   Вверх
Samotnik
Дата 25.11.2008, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 5
Всего: 191



а как нибудь так ?
Код

GetMethodWebRequest requestListPage = new GetMethodWebRequest("http://www.domain.com/registration.jsp");
WebResponse responseListPage = theWebConversation.getResponse(requestListPage);
WebLink nextLink = responseListPage.getLinkWithID("welcomeSSA.wav");
nextLink.click();

 smile 

Это сообщение отредактировал(а) Samotnik - 25.11.2008, 19:24
PM MAIL   Вверх
olegrolik
Дата 26.11.2008, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 309
Регистрация: 25.1.2006

Репутация: нет
Всего: нет



Цитата(Samotnik @ 25.11.2008,  19:21)
а как нибудь так ?
Код

GetMethodWebRequest requestListPage = new GetMethodWebRequest("http://www.domain.com/registration.jsp");
WebResponse responseListPage = theWebConversation.getResponse(requestListPage);
WebLink nextLink = responseListPage.getLinkWithID("welcomeSSA.wav");
nextLink.click();

 smile

А где тут вообще java script????

У меня есть страница html. Допустим, www.mysite.com/index.html. На ней 5 ссылок на выполнение java script такого вида: javascript:uploadPrompt('welcomeSSA.wav').
Так мне нужно с этой странички вызвать java script.
PM MAIL   Вверх
Samotnik
Дата 26.11.2008, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 5
Всего: 191



olegrolik, я понимаю, что тебе нужно ! 
Но не всегда наши желания совпадают с нашими возможностями ! 
Код

GetMethodWebRequest(java.lang.String urlString)
          Constructs a web request using a specific absolute url string.
GetMethodWebRequest(java.net.URL urlBase, java.lang.String urlString)
          Constructs a web request using a base URL and a relative url string.
GetMethodWebRequest(java.net.URL urlBase, java.lang.String urlString, java.lang.String target)
          Constructs a web request with a specific target.

Легко заметить из спецификации, что конструктора с параметром  "мне нужно вставить javascript" нету  smile 
но есть гугл, который по запросу   GetMethodWebRequest javascript  выдал кое что интересное, что я тебе с небольшими различиями и продемонстрировал. Если ты не понимаеш что это, то почитай спецификацию  smile 

Это сообщение отредактировал(а) Samotnik - 26.11.2008, 11:52
PM MAIL   Вверх
olegrolik
Дата 26.11.2008, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 309
Регистрация: 25.1.2006

Репутация: нет
Всего: нет



Цитата(Samotnik @ 26.11.2008,  11:52)
olegrolik, я понимаю, что тебе нужно ! 
Но не всегда наши желания совпадают с нашими возможностями ! 
Код

GetMethodWebRequest(java.lang.String urlString)
          Constructs a web request using a specific absolute url string.
GetMethodWebRequest(java.net.URL urlBase, java.lang.String urlString)
          Constructs a web request using a base URL and a relative url string.
GetMethodWebRequest(java.net.URL urlBase, java.lang.String urlString, java.lang.String target)
          Constructs a web request with a specific target.

Легко заметить из спецификации, что конструктора с параметром  "мне нужно вставить javascript" нету  smile 
но есть гугл, который по запросу   GetMethodWebRequest javascript  выдал кое что интересное, что я тебе с небольшими различиями и продемонстрировал. Если ты не понимаеш что это, то почитай спецификацию  smile

Значит последние твои ответы просто не в тему. 
Я задал вопрос не для того, чтобы получить примерный ответ.
Пожалуйста, пиши в тему smile
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0798 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.