Вероятно, это плохая идея, но вы можете использовать HTTP-библиотеку, такую как HttpClient, чтобы делать те же запросы, что и пользователь. Вам нужно будет использовать утилиту для наблюдения за заголовками, чтобы выяснить, какие URL вам нужны, и какие заголовки вам нужно использовать, но это можно автоматизировать. Если Google когда-либо изменит макет своей страницы, id
s, class
es или общую структуру страницы, ваш код синтаксического анализа будет поврежден.
Кроме того, вам также нужно будет иметь возможность получить ответный ответ от сервера, который будет включать получение ответа в определенной конечной точке сети. Это можно решить с помощью решения 2, описанного ниже.
В итоге.
Решение 1 - Аутентификация
- HttpClient GET против URL аутентификации.
- TagSoup для анализа ответа страницы, сохранения любых данных (если таковые имеются), которые требуются со страницы.
- XOM xml-анализатор для работы с ответом из [1.2], если это необходимо.
- HttpClient запрашивает URL авторизации
Решение 2 - Получение ответа от Google
- Запустить Jetty сервер.
- При аутентификации установите URL-адрес ответа на
localhost:****/whatever
.
- Принять ответ в причале. Получить ответ в приложении командной строки.
Отказ от ответственности:
Это все непроверенное и очень теоретическое. Возможно, есть лучший способ сделать это, но много работы, чтобы не открывать веб-браузер и не разрешать пользователю войти в систему.