【问题标题】:ConnectionClosedException: Premature end of chunk coded message body with apache hhtpclient 4.5.5ConnectionClosedException:使用 apache httpclient 4.5.5 的块编码消息正文过早结束
【发布时间】:2019-09-09 18:11:35
【问题描述】:

我正在尝试解析来自 GET 请求的 http 响应,但它会引发以下异常。

org.apache.http.ConnectionClosedException: Premature end of chunk coded message body: closing chunk expected
    at org.apache.http.impl.io.ChunkedInputStream.getChunkSize(ChunkedInputStream.java:266) ~[httpcore-4.4.10.jar!/:4.4.10]
    at org.apache.http.impl.io.ChunkedInputStream.nextChunk(ChunkedInputStream.java:225) ~[httpcore-4.4.10.jar!/:4.4.10]
    at org.apache.http.impl.io.ChunkedInputStream.read(ChunkedInputStream.java:184) ~[httpcore-4.4.10.jar!/:4.4.10]
    at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:135) ~[httpclient-4.5.6.jar!/:4.5.6]
    at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284) ~[na:na]
    at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326) ~[na:na]
    at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178) ~[na:na]
    at java.base/java.io.InputStreamReader.read(InputStreamReader.java:185) ~[na:na]
    at java.base/java.io.Reader.read(Reader.java:229) ~[na:na]
    at org.apache.http.util.EntityUtils.toString(EntityUtils.java:227) ~[httpcore-4.4.10.jar!/:4.4.10]
    at org.apache.http.util.EntityUtils.toString(EntityUtils.java:308) ~[httpcore-4.4.10.jar!/:4.4.10]

我解析响应的代码是

String parseResponse(HttpResponse resp) {
        try {
            return org.apache.http.util.EntityUtils.toString(resp.getEntity());
        } catch (IOException e) {
                        throw new RuntimeException(e);
        }
    }

我用过org.apache.httpcomponents:httpcore:4.5.6

我调用的GET端点(spring boot application)如下

public ResponseEntity<org.springframework.data.domain.
Page<JSONObject>> getList() {
}

我在这里阅读https://github.com/jersey/jersey/issues/3629 如果我使用 org.apache.httpcomponents:httpclient:4.5.5 那么它应该可以正常工作,但它对我不起作用。

谁能指点一下。

我看到了一个类似的问题org.apache.http.ConnectionClosedException: Premature end of chunk coded message body: closing chunk expected,但对我没有帮助。

【问题讨论】:

    标签: spring-boot apache-httpclient-4.x


    【解决方案1】:

    了解问题。我正在关闭 CloseableHttpClient,然后尝试使用 HTTPResponse。 以下帖子有帮助 https://stackoverflow.com/a/50136644/1053496

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多