Я собираю некоторые данные JSON с веб-сайта, который работает довольно хорошо.Я могу войти и загрузить необходимые данные.Однако в одном случае мне нужно загрузить страницу HTML для извлечения информации из HTML.
Я изменил заголовки запросов так, чтобы они соответствовали тем, которые были видны с помощью параметров разработчика Chrome (F12).
Request request = new Request.Builder().url(url)
.header("Host", "www.host.com")
.header("Connection", "Keep-Alive")
.header("Cache-Control", "max-age=0")
.header("Upgrade-Insecure-Requests", "1")
.header("User-Agent",this.user_agent_user_for_this_session)
.header("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8")
.header("Accept-Encoding", "gzip, deflate, br")
.header("Accept-Language", "en-US,en;q=0.9,fr;q=0.8,nl;q=0.7,de;q=0.6,af;q=0.5")
.get().build();
Response response = client.newCall(request).execute();
String html = IOUtils.toString(new GZIPInputStream(response.body().byteStream()));
Я получаю HTML-файл, но он намного меньше по сравнению с HTML-файлом, который сохраняется вручную из Chrome (сохранить источник как).Я заметил все виды ng (угловых) ссылок в файле HTML, что заставило меня задуматься, получил ли я только первую часть определенного процесса javascript, который не был завершен?
Кроме того, загруженный HTML-код выглядит идентично HTML-файлу, который загружается в первом сетевом представлении Chrome (я копирую вставленный контент, и размеры файлов совпадают).
Так должен ли я провести дополнительный анализ запроса?