我有以下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内容类型。
有什么想法吗?
答案 0 :(得分:2)
这没有多大意义。如果响应内容使用编码为X的字符进行编码,则使用字符编码Y对其进行解码将导致未定义的结果。
相反,我需要强制使用utf-8内容类型
我不建议这样做,但您可以随时获得响应InputStream
并按您认为合适的方式处理字节。
InputStream responseContent = entity.getContent();
(别忘了close()
它。)