Я пытаюсь прочитать тело URL для домена - iv4u.health , используя библиотеку Jsoup (версия 1.11.3), но получаю ошибку "Too many redirects". Ниже код, который я использую -
public class Example {
public static void main(String[] args) throws InterruptedException, ExecutionException {
crawlDomain("http://iv4u.health");
}
public static void crawlDomain(String url) {
int timeout = 30;
RequestConfig config = RequestConfig.custom()
.setConnectTimeout(timeout * 1000)
.setConnectionRequestTimeout(timeout * 1000)
.setSocketTimeout(timeout * 1000)
.setRedirectsEnabled(false)
.build();
CloseableHttpClient client = HttpClientBuilder.create().setDefaultRequestConfig(config).build();
HttpGet request = new HttpGet(url);
CloseableHttpResponse response;
try {
HttpClientContext context = HttpClientContext.create();
response = client.execute(request, context);
int status = response.getStatusLine().getStatusCode();
if (status >= HttpStatus.SC_MULTIPLE_CHOICES && status < HttpStatus.SC_BAD_REQUEST) {
System.out.println(getURLBody(url));
}
} catch (Exception e) {
e.printStackTrace();
}
}
private static String getURLBody(final String url) {
try {
String userAgent = "Mozilla";
Document doc = Jsoup.connect(url)
.userAgent(userAgent).get();
return doc.toString();
} catch (Exception ex) {
ex.printStackTrace();
}
return null;
}
}
Ниже приведена трассировка стека ошибок -
java.io.IOException: Too many redirects occurred trying to load URL http://iv4u.health/
at org.jsoup.helper.HttpConnection$Response.<init>(HttpConnection.java:717)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:751)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:773)
at ....
Пожалуйста, помогите мне в этом вопросе. Любая помощь будет принята с благодарностью.
Код работает иногда, хотя (в основном в первый раз)