有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java组织。阿帕奇。http。HttpException:不支持的内容编码:无

我使用ApacheHTTP组件将POST请求发送到不属于我的服务器(因此我无法修改其配置)

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

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

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

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

谢谢你抽出时间


共 (2) 个答案

  1. # 1 楼答案

    我遇到了类似的问题。一个简单的修复方法是在http客户端生成器中禁用压缩

    HttpClientBuilder clientBuilder = HttpClients.custom();
    clientBuilder.disableContentCompression();
    HttpClient client = clientBuilder.build();
    
  2. # 2 楼答案

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

    使用拦截器修复错误的内容编码头see this blog entry有一个解决方法