Почему попытка с ресурсами вызывает ошибку усеченного фрагмента с CloseableHttpClient?JAVA

Программисты JAVA общаются здесь
Anonymous
Почему попытка с ресурсами вызывает ошибку усеченного фрагмента с CloseableHttpClient?

Сообщение Anonymous »

Не могли бы вы помочь мне со следующим:
У меня есть следующий метод:

Код: Выделить всё

public static CloseableHttpResponse getRequest (String url) {
try (CloseableHttpClient httpClient = HttpClients.createDefault();){
HttpGet httpget = new HttpGet(url); //http get request (create get connection with particular url)
return httpClient.execute(httpget);
} catch (Exception e) {
throw new RuntimeException(e.getMessage(), e);
}
}
Когда я использую CloseableHttpClient с try-with-resources
Я вызываю метод в каком-то простом тесте:

Код: Выделить всё

CloseableHttpResponse closeableHttpResponse = RestClient.getRequest("https://reqres.in/api/users?page=2");
String responseString = EntityUtils.toString(closeableHttpResponse.getEntity(), "UTF-8");
JSONObject responseJson = new JSONObject(responseString);
System.out.println(responseJson);
И я получаю сообщение об ошибке: org.apache.http.TruncatedChunkException: Усеченный фрагмент (ожидаемый размер: 379; фактический размер: 358)
Когда я не использую подобные попытки с ресурсами:

Код: Выделить всё

public static CloseableHttpResponse getRequest (String url) throws IOException {
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpGet httpget = new HttpGet(url); //http get request (create get connection with particular url)
return httpClient.execute(httpget);
}
У меня вообще нет ошибок! Объясните пожалуйста - в чем дело? Я новичок и понятия не имею - некоторые примеры из Интернета работают хорошо...

Вернуться в «JAVA»