Как программно получить доступ к веб-сайтам через Java? Загрузите HTML-код, сохраните cookies, заполните и отправьте формы и т.д.

#java #android #web

#java #Android #веб

Вопрос:

Загрузка кода веб-сайта не является проблемой. Однако использовать этот код не всегда так просто.

Мне было интересно, существует ли какой-либо пакет, который упрощает отправку HTTP-запросов GET / POST в соответствии с указанной формой. Это поможет выполнить вход на некоторые веб-сайты, даже используя SSL.

Я уверен, что существуют сотни программ, которые делают такие вещи возможными. Мне было интересно, каковы были бы наилучшие методы в этой области.

Комментарии:

1. Простите, в чем ваш реальный вопрос? вам нужен пульт дистанционного управления или что?

2. Я сильно отредактировал вопрос. Пожалуйста, проверьте, это ли вы имели в виду.

Ответ №1:

Вы можете использовать HttpUnit для программного просмотра веб-страницы, перехода по ссылкам, изучения таблиц, работы с формами и т.д. Смотрите примеры в кулинарной книге HttpUnit.

Примечание: HttpUnit предназначен для модульного тестирования, но, возможно, он подойдет и для ваших целей.

Комментарии:

1. @Николас Рауль: иногда это случается 🙂

Ответ №2:

Возможно, вы захотите использовать библиотеку Java HttpUnit.

Он даже обрабатывает cookies и JavaScript.

Ответ №3:

смотрите Http-клиент от apache

Ответ №4:

Вы не используете html для этого. вам нужен какой-то веб-сервис … или показывайте страницу в WebView, но все же, если вы хотите чего-то большего, либо у него должен быть URL обратного вызова, либо что-то, что вы можете захватить и извлечь из URL некоторые параметры для использования.

Кстати, я вижу Android в тегах. это действительно вопрос Android или более общий? я не могу точно сказать, что именно вы здесь ищете.

Комментарии:

1. Я думаю, он был бы рад использовать API, но его нет в наличии или что-то в этом роде?

2. для синтаксического анализа html перейдите по этой ссылке: java-source.net/open-source/html-parsers . но я не думаю, что это сработает для отправки. может быть, если бы вы действительно могли получить страницу и заполнить поля этим, а затем каким-то образом отправить ее. обычно отправляемый вами материал кодируется в URL (какое-то стандартное использование http get или что-то в этом роде), поэтому, возможно, проверьте перенаправления для получения информации в URL также.

Ответ №5:

Я нашел Selenium от Selenium AndroidDriver, но я еще не тестировал его.