HttpEntity是HTTP请求和响应消息的实体部分。它包含了实体的头部信息和实体的内容。在HTTP请求中,实体通常是POST或PUT请求中包含的参数(例如表单数据)。在HTTP响应中,实体通常是服务器返回的数据。
HttpEntity接口有以下常用方法:
1. getContent():获取实体的内容。
2. getContentType():获取实体的内容类型。
3. getContentLength():获取实体的内容长度。
4. writeTo():将实体写入输出流中。
以下是一个简单的HttpEntity使用示例:
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpGet httpGet = new HttpGet("http://example.com");
try (CloseableHttpResponse response = httpClient.execute(httpGet)) {
HttpEntity entity = response.getEntity();
if (entity != null) {
InputStream inputStream = entity.getContent();
// Do something with the input stream...
}
}
在这个示例中,我们使用HttpClient发送一个HTTP GET请求,并通过response.getEntity()方法获取响应的实体。如果实体非空,我们可以使用getContent()方法获取实体的内容。由于实体是输入流的形式,因此我们可以使用标准的Java I/O方法来处理它。
注意,在使用完HttpEntity时,应该调用entity.getContent().close()方法来关闭实体的内容流,以便释放资源。