如何在HttpEntity对象中设置内容类型?

时间:2014-12-17 17:13:29

标签: java http-headers apache-httpclient-4.x

我有以下Java代码:

HttpResponse response = httpClient.execute(request);
HttpEntity entity = response.getEntity();
ReadContent = EntityUtils.toString(entity, HTTP.UTF_8);
EntityUtils.consume(entity);

我需要将实体的内容始终读作UTF-8内容类型。

不幸的是,只有在HttpEntity对象中没有指定内容类型时,EntityUtils.toString方法才使用第二个参数,而是我需要强制使用utf-8内容类型。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

这没有多大意义。如果响应内容使用编码为X的字符进行编码,则使用字符编码Y对其进行解码将导致未定义的结果。

  

相反,我需要强制使用utf-8内容类型

我不建议这样做,但您可以随时获得响应InputStream并按您认为合适的方式处理字节。

InputStream responseContent = entity.getContent();

(别忘了close()它。)