对于大型文件,我们可能要做断点续传,分成多次下载
这时我们需要先发一个请求,获取文件长度
然后再发多个子请求,指定start-end,下载文件的某个判断
//指定服务器返回Content-Length信息
requestBuilder.addHeader("Accept-Encoding", "identity");
//获取文件长度
response.headers().get("Content-Length");
//指定单次下载的字节范围
requestBuilder.addHeader("range", "bytes=" + start + "-" + end);
//获取返回的字节数据
response.body().bytes();
注意,start,end是下载字节的起始和结束位置,包含了start和end两个边界字节
所以end的最大值一定要限制为:contentLength - 1