Получить код состояния и тело ответа в версии 4 было так просто:
StringEntity entity = new StringEntity(jsonData.toString());
HttpResponse r = org.apache.http.client.fluent.Request.Post(uri)
.connectTimeout(10*1000)
.socketTimeout(10*1000)
.addHeader("Content-Type", "application/json; charset=utf-8")
.body(entity)
.execute()
.returnResponse();
int status = r.getStatusLine().getStatusCode();
String body = EntityUtils.toString(r.getEntity(), "UTF-8");
return new CoolResponse(status, body);
Но теперь в httpclient5 по какой-то причине невозможно получить что-либо, относящееся к телу ответа, из HttpResponse. Очень смущен этим. Если я буду следовать примеру 3 в их кратком руководстве (https://hc.apache.org/httpcomponents-client-5.0.x/quickstart.html) он предлагает мне создать CloseableHttpClient, HttpGet и CloseableHttpResponse, но ни один из них не позволяет вам установить время ожидания соединения. Попытка найти лучшее из обоих миров, но варианты здесь кажутся перемешанными.
getEntity
, как показано в связанном примере) или вы спрашиваете о тайм-аутах (которые вы можете увидеть вHttpGet
и/или вHttpClient
)? - person Sotirios Delimanolis   schedule 12.05.2020