org.apache.http.HttpException:不支持的内容编码:无

时间:2015-10-22 20:53:13

标签: java http apache-httpcomponents

我正在使用Apache HTTP Components向不属于我的服务器发送POST请求(因此我无法修改其配置)。

作为对我的回应,服务器设置Content-Encoding: none标头,导致org.apache.http.HttpException: Unsupported Content-Coding: none例外。

我在StackOverflow的某个地方发现我可以使用HttpClients.custom().disableContentCompression().build()来禁用RequestAcceptEncodingResponseContentEncoding拦截器,因此不会抛出异常。但是,我不想在全球范围内以这种方式重新配置HttpClient

如果不对HttpClient添加更改,是否有解决此问题的方法?

作为一个注释,我根本不必读取响应体,因为它是空的。我只需要能够阅读响应代码(即200 OK)。

感谢您的时间。

2 个答案:

答案 0 :(得分:1)

最后几个月后我找到了解决这个问题的方法!

使用拦截器修复错误的Content-Encoding标头see this blog entry有一种解决方法。

答案 1 :(得分:0)

我遇到了类似的问题。一个简单的解决方法是在http客户端构建器中禁用压缩。

HttpClientBuilder clientBuilder = HttpClients.custom();
clientBuilder.disableContentCompression();
HttpClient client = clientBuilder.build();
相关问题