报错 org.apache.http.ConnectionClosedException: Premature end of Content-Length delimited message body 的解决办法

报错场景:在使用httpclient下载大文件时候报错。

错误分析:

    1. 请求链接提前关闭导致拿到数据包和期待数据包不一致。
    1. http请求不稳定,文件过大导致数据包丢失,即下载大的数据包时丢失了数据。

解决办法:

文件过大导致数据包丢失,可以采用分片下载、断点续传的方式,把文件分块进行下载。具体实现方法是在请求头中加以下代码:

Header header = new BasicHeader("Range", "bytes=" + startIndex + "-" + endIndex);

转发自:使用httpclient下载大文件时报错
参考:
下载链接提前关闭
内容长度分隔的消息正文过早结束

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐