2010-01-26 4 views
1

Возможный дубликат:
Submit HTML Form in JavaОтправка Html формы через Java Code

На самом деле я хочу представить HTML форму с помощью кода Java.

Я использую API-интерфейс Apache HttpClient API для этого, но когда я отправляю запрос, он возвращает мне ту же страницу с заполненной формой, а не отправляет ее.

Когда я открываю эту форму Html, которую я хочу отправить через код java, я узнал, что у нее есть вызов ajax для отправки.

Я хочу знать, как я могу отправить этот вызов ajax также из java-кода.

Я буду очень признателен за любую помощь в этом отношении.

+0

Опубликовать код ... – Equistatic

ответ

1

Самый простой способ - вызвать тот же HTTP-запрос, что и запрос Ajax. Просто прочитайте JS-код самостоятельно, отфильтруйте URL-адрес из него и залейте параметры в соответствии с запросом Ajax. Просто используйте трекер заголовков HTTP (Firebug?), Чтобы получить их все.

Самый сложный способ - имитировать (изобретать) средний веб-браузер на низкоуровневом уровне. То есть загружать/интерпретировать JavaScripts и выполнять их также. Таким образом вам вообще не нужно беспокоиться о коде JS/Ajax и просто вызывать простой HTTP-запрос. Излишне говорить, что это ведь довольно громоздко.

Если вы фактически хотите инструмент для тестирования веб-приложений, посмотрите на Selenium.

Если это WebApplication на самом деле не вами, то я надеюсь, что вы прочитали их robots.txt, чтобы убедиться, что вы не нарушали закон.

0

Расширение расширения для Firefox действительно полезно для просмотра того, что происходит на самом деле, равно FireBug. Используя их, вы сможете увидеть, что делает Ajax, что ваш пользовательский агент не является.

Смежные вопросы