android Студия Jsoup отсутствует контент - PullRequest
1 голос
/ 10 марта 2020

Я создаю предварительный просмотр ссылки в android студии, мне это удалось, но потом, когда я начал еще больше тестировать свою работу, я заметил, что иногда ссылка не показывает весь необходимый контент, например, я попытался открыть

"https://www.google.com"

с помощью jsoup, например, так:

Jsoup.connect("https://www.google.com").get()

, и вот документ с результатом, который я получил

enter image description here

затем я пошел к https://try.jsoup.org/, чтобы проверить результаты по той же ссылке, это был результат

https://try.jsoup.org/~sY0KUiRifqNt-BzogCFyQuXVeDc

enter image description here

Если вы проверите заголовок, вы увидите, что отсутствует «описание», а также другой контент в теле ... Кто-нибудь знает причину который? Я хотел бы получить все содержимое.

заранее благодарю.

ОБНОВЛЕНИЕ

Поэтому я осмотрелся еще и обнаружил, что Я никогда не получал правильную информацию с самого начала.

Я перешел к https://www.google.com и затем нажал CTRL + U , вы увидите, что это та же самая информация, которую получает Jsoup ... но все еще использует https://try.jsoup.org/ получает всю информацию метаданных, так почему же версия android не делает то же самое?

1 Ответ

1 голос
/ 11 марта 2020

Ваш браузер и ваше устройство android отправляют разные строки агента пользователя на сервер. Некоторые серверы игнорируют его, некоторые возвращают разные ответы разным пользовательским агентам. Решение состоит в том, чтобы добавить строку пользовательского агента к вашему запросу -

Jsoup.connect("https://www.google.com")
.userAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36")
.get()

Вы можете изменить строку в соответствии с вашими потребностями.

...