Преобразование из HTTPClient 3 в 4
-
15-10-2019 - |
Вопрос
Мне удалось внести изменения во все, кроме следующего:
HttpClient client;
HttpPost method;
client = new DefaultHttpClient();
method = new HttpPost(url);
InputStream rstream;
try {
rstream = method.getResponseBodyAsStream();
} catch (IOException e) {
return BadSpot(e.getMessage());
}
Я не уверен, что я должен заменить GetResponseBodyAssTream ().
Решение
InputStream rstream;
try {
HttpResponse response = client.execute(HttpHost, method);
rstream = response.getEntity().getContent();
} catch (IOException e) {
return BadSpot(e.getMessage());
}
Выше должно делать то, что вы спрашиваете.
Другие советы
Httpresponse.getentity (), с последующим Httpentity.getContent ()
У класса UTIL есть несколько полезных методов:
EntityUtils.toString(response.getEntity());
Есть также несколько полезных вещей в примерах на Веб -сайт Apache
Использовать EntityUtils
и проверьте возвращенную сущность, чтобы быть not null
Прежде чем употреблять сущность:
InputStream rstream;
try {
HttpResponse response = client.execute(HttpHost, method);
rstream = Optional.ofNullable(httpResponse.getEntity())
.map(e -> response.getContent()).orElse(null);
} catch (IOException e) {
return BadSpot(e.getMessage());
}
ПРИМЕЧАНИЕ: Входная сеть здесь может быть нулевым, и больше всего вы должны убедиться, что он будет потреблен, прежде чем вы фактически закрываете ответ/отпустите соединение.
Не связан с StackOverflow