как зайти на сайт через java?
-
05-07-2019 - |
Вопрос
Я попробовал несколько способов входа на сайт через Java.Я использовал watij, HTMLunit и т. д.но из-за того, что я не очень знаком ни с одним из них, я не могу успешно войти в систему.
Может кто-нибудь рассказать мне подробно, как войти через Java?
Если быть более конкретным, я хочу войти в ORKUT и получить исходный код страницы, которая появляется после входа в систему.
Решение
Ваши лучшие шансы сделать такие вещи & amp; выжить в реальном мире с Selenium-RC.
По сути, вы должны дистанционно управлять браузером, чтобы делать все, что вы можете делать вручную (кроме загрузки файлов).
Много раз я использовал этот шаблон:
<Ол>Другие советы
Ответ зависит от того, как веб-сайт пытается вас аутентифицировать:
- Вам нужно установить имя пользователя и пароль в заголовках HTTP (базовая аутентификация)?
- Или вам нужно заполнить и отправить форму, содержащую имя пользователя и пароль?
В любом случае я бы порекомендовал commons-httpclient, хотя последний подход к очистке экрана всегда неудобен в программном обеспечении.
Для базовой аутентификации взгляните на httpclient Руководство по аутентификации.
Для аутентификации с помощью форм вам необходимо проверить источник HTML страницы, чтобы понять
- URL-адрес, на который отправляется форма.
- Как называются параметры для отправки?
Чтобы узнать, как отправить форму в httpclient, см. документация по методу POST.
Сайт httpclient также содержит базовый учебник.
Почему вы пытаетесь войти через Java, а не просто использовать cURL? Есть ли что-то конкретное, что вы пытаетесь достичь?
Orkut использует авторизацию Google для входа.Я предлагаю использовать HTTP-отладчик, например Fiddler, для просмотра трафика во время входа в систему.Вероятно, существуют файлы cookie и редиректы, которые вам необходимо реплицировать.
В целом,
- Посмотрите на форму входа, найдите имена полей имени и пароля и действие, которое отправляет форма.
- Создайте POST-запрос к URL-адресу действия и правильно укажите имя и пароль (например,имя = имя пользователя и пароль = пароль)
- Был ли это HTTPS (обязательно сделайте это правильно)
- Если в заголовке ответа есть SET-COOKIE, обязательно отправляйте этот файл cookie во все последующие запросы.
- Если ответ имеет перенаправление, выполните GET для перенаправления, отправив файлы cookie, если это необходимо.
- (продолжайте повторять #5, пока не получите перенаправление)
Ответ, который вы получите в конце, и будет источником страницы.
Взгляни на это:
http://code.google.com/apis/gdata/javadoc/com/google/gdata/client/http/AuthSubUtil.html http://code.google.com/p/apex-google-data/source/browse/trunk/google_data_toolkit/src/classes/AuthSubUtil.cls
Похоже на код Google для аутентификации в их сервисах.