В общем, сразу к делу.
Есть html страница, есть на ней пункт выбора группы, сделанный через тег <select>
, и ниже есть <div>
, который изначально пустой, но после выбора группы этот див заполняется таблицей с расписанием.
Посмотрел какой запрос отправляется (POST) и решил попробовать отправлять такой же запрос сам. Запрос выглядит как обычный хедер + в теле group=%группа%
. К сожалению мне приходит все тот же html с пустым <div>
, в котором должно быть расписание. Собственно, как мне выставить значение и прочитать уже обновленную html-страницу?
Из HTML
<select class="group select2-hidden-accessible" tabindex="-1" aria-hidden="true" style="">
<option>%Группа-11%</option>
<option>%Группа-12%</option>
....
</select>
<div class="schedule"></div><!--Вот тут появляется таблица -->
Как изменяется страница при выборе группы
<select class="group select2-hidden-accessible" tabindex="-1" aria-hidden="true" style="">
<option>%Группа-11%</option>
<option>%Группа-12%</option>
....
</select>
<div class="schedule">
<table> <!-- Оп, таблица подъехала -->
....
....
</table>
</div>
Мой запрос (Java)
HttpClient client = HttpClient.newBuilder()
.followRedirects(HttpClient.Redirect.NORMAL)
.build();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("%Сайт с расписанием%"))
.headers("Content-Type", "application/x-www-form-urlencoded") // Тут сделал как в хедере в запросе
.POST(HttpRequest.BodyPublishers.ofString(group))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.headers());
System.out.println(response.body());
System.out.println(response.request());