确保在使用 EntityUtils toString 时,已经消耗了 HttpResponse 中的内容(也就是已经使用 getEntity 方法)。如果没有这样做,程序将会阻塞,等待剩余的内容。
示例代码:
HttpResponse response = httpClient.execute(request);
HttpEntity entity = response.getEntity();
String responseBody = null;
if (entity != null) {
responseBody = EntityUtils.toString(entity);
EntityUtils.consume(entity);
}
// 使用 responseBody 做进一步处理
在上面的示例代码中,EntityUtils.consume 方法用于消耗 HttpResponse 实体,确保所有内容已经被接收和处理,避免了阻塞线程的问题。