org.apache.http.HttpException:不支持 Content-Coding:none

org.apache.http.HttpException: Unsupported Content-Coding: none

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

作为对我的回应,服务器设置了 Content-Encoding: none header,这导致了 org.apache.http.HttpException: Unsupported Content-Coding: none 异常。

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

在不对 HttpClient 添加更改的情况下,是否有任何解决此问题的方法?

请注意,我根本不需要阅读回复 body,因为它是空的。我只需要能够读取响应代码(即 200 OK)。

感谢您的宝贵时间。

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

有一个使用拦截器修复错误的解决方法 Content-Encoding header, see this blog entry.

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

HttpClientBuilder clientBuilder = HttpClients.custom();
clientBuilder.disableContentCompression();
HttpClient client = clientBuilder.build();