我正在使用Apache HTTP Components向不属于我的服务器发送POST请求(因此我无法修改其配置)。
作为对我的回应,服务器设置Content-Encoding: none
标头,导致org.apache.http.HttpException: Unsupported Content-Coding: none
例外。
我在StackOverflow的某个地方发现我可以使用HttpClients.custom().disableContentCompression().build()
来禁用RequestAcceptEncoding
和ResponseContentEncoding
拦截器,因此不会抛出异常。但是,我不想在全球范围内以这种方式重新配置HttpClient
。
如果不对HttpClient
添加更改,是否有解决此问题的方法?
作为一个注释,我根本不必读取响应体,因为它是空的。我只需要能够阅读响应代码(即200 OK
)。
感谢您的时间。
答案 0 :(得分:1)
最后几个月后我找到了解决这个问题的方法!
使用拦截器修复错误的Content-Encoding标头see this blog entry有一种解决方法。
答案 1 :(得分:0)
我遇到了类似的问题。一个简单的解决方法是在http客户端构建器中禁用压缩。
HttpClientBuilder clientBuilder = HttpClients.custom();
clientBuilder.disableContentCompression();
HttpClient client = clientBuilder.build();