Это не ошибка.Это просто неофициальное сообщение, что есть перенаправление.Только HTTP 4nn и 5nn отклики являются реальными ошибками.URL перенаправления доступен в заголовке HTTP Location
.Вы, как веб-клиент, обязаны отправить новый запрос GET по URL-адресу, указанному в заголовке HTTP Location
.
String location = response.getLastHeader("Location").getValue();
// ...
Обновление :, вы получили ответ HTTP 302 без заголовка Location
?Какой код состояния самого ответа?
int statusCode = response.getStatusLine().getStatusCode();
Если это 200, а тело содержит сообщение 302, то это определенно ошибка на стороне сервера.Веб-сервер должен был вернуть код состояния 302 вместе с заголовком Location
.
Обновление 2 : Итак, код состояния на самом деле равен 200. Это ошибка на стороне сервера.Если этот веб-сайт не находится под вашим контролем и, следовательно, вы не можете починить сервер, вам необходимо сообщить об этом администратору / сопровождающему веб-сайта.Между тем, лучшее, что вы могли бы сделать, - это извлечь новое местоположение из тела ответа, используя некоторый HTML-анализатор, а затем отправить ему новый запрос GET.Например, используя Jsoup :
String location = Jsoup.parse(responseHtml).select("h2 a").first().attr("href");
// ...