文章目录
报错 org.apache.http.ConnectionClosedException: Premature end of Content-Length delimited message body 的解决办法
报错场景:在使用httpclient下载大文件时候报错。
错误分析:
-
- 请求链接提前关闭导致拿到数据包和期待数据包不一致。
-
- http请求不稳定,文件过大导致数据包丢失,即下载大的数据包时丢失了数据。
解决办法:
文件过大导致数据包丢失,可以采用分片下载、断点续传的方式,把文件分块进行下载。具体实现方法是在请求头中加以下代码:
Header header = new BasicHeader("Range", "bytes=" + startIndex + "-" + endIndex);
当使用httpclient下载大文件时遇到org.apache.http.ConnectionClosedException异常,可能是由于请求链接提前关闭或数据包丢失。解决策略包括采用分片下载,通过设置请求头的Range字段指定下载的字节范围,实现断点续传,确保文件完整下载。
2万+

被折叠的 条评论
为什么被折叠?



