Нужно ли httpclient, наконец, потреблять httpentity?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Нужно ли httpclient, наконец, потреблять httpentity?

Сообщение Anonymous »

1. Следующий код инкапсулирует метод POST, является ли EntityUtils.consume (httpentity); в наконец -то сегмент кода избыточно? Я спросил Клаудай, и он сказал, что это не излишнее, и спросил Чатгпт, и он сказал, что это избыточно. < /P>
public String post(String url, String content, Map headers, String charset) throws Exception {
HttpPost httpPost = null;
HttpEntity httpEntity = null;
try {
httpPost = new HttpPost(url);
StringEntity contentEntity = new StringEntity(content, charset);
httpPost.setEntity(contentEntity);
try (CloseableHttpResponse response = httpClient.execute(httpPost)) {
int statusCode = response.getStatusLine().getStatusCode();
if (statusCode != 200) {
httpPost.abort();
}
httpEntity = response.getEntity();
String result = null;
if (httpEntity != null) {
result = EntityUtils.toString(httpEntity, charset);
}
EntityUtils.consume(httpEntity);
return result;
}
}
catch (Exception ex) {
logger.error("doPost failed:", ex);
throw ex;
}
finally {
if (httpEntity != null) {
try {
EntityUtils.consume(httpEntity);
}
catch (Exception consumeEx) {
logger.error("consume httpEntity failed:", consumeEx);
}
}
if (httpPost != null) {
try {
httpPost.abort();
}
catch (Exception abortEx) {
logger.error( "abort request failed:", abortEx);
}
}
}
}
< /code>
2.Here - это другой код, будет ли какая -либо проблема, если я просто удалю код 'entityutils.consume (response.getentity ());'? < /p>
CloseableHttpResponse response = null;
try {
response = httpClient.execute(request);
HttpEntity entity = response.getEntity();
String result = EntityUtils.toString(entity);
} finally {
if (response != null) {
EntityUtils.consume(response.getEntity());
response.close();
}
}


Подробнее здесь: https://stackoverflow.com/questions/797 ... in-finally
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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