报错 org.apache.http.ConnectionClosedException: Premature end of Content-Length delimited message body

文章目录

  • 报错 org.apache.http.ConnectionClosedException: Premature end of Content-Length delimited message body 的解决办法
    • 报错场景:在使用httpclient下载大文件时候报错。
    • 错误分析:
    • 解决办法:

报错 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下载大文件时报错
参考:
下载链接提前关闭
内容长度分隔的消息正文过早结束

你可能感兴趣的:(http,服务器,网络协议)