Я хочу программно получить доступ к веб-странице и извлечь из нее некоторую информацию.
Я хочу войти на какой-нибудь веб-сайт с помощью кода Java
и заставить сервер почувствовать, что запрос на самом деле исходит от реального браузера.
Я почти там, хотя есть одна проблема: веб-сайт требует передачи parameter - "sessid"
с каждым запросом, который продолжает меняться с каждым запросом.
Например, когда я впервые обращаюсь к странице, sessid=90334
и на следующей странице это похоже на sessid=78204
.
Поэтому проход url
I должен содержать значение sessid
, в противном случае аутентификация завершится ошибкой: www.somesite.com/somepage.php?sessid=75749
.
Веб-страница содержит один тег <input>
, который содержит значение sessid
, и мне нужно получить значение этого тега.
Как я могу это сделать? Тег такой:
<input type="hidden" name="sessid" value="69529">
Я могу успешно прочитать всю веб-страницу, используя следующий код:
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
StringBuilder response = new StringBuilder();
String line;
while ((line = rd.readLine()) != null) {
response.append(line);
}