简介
一个使用本地http代理服务器方式嗅探下载请求的http下载器,目前主要提供了手动下载,刷新下载链接,与百度云的部分功能。并且支持分段下载与断点下载。该项目依赖于proxyee,想加入该项目的话请务必注意。
使用(以下使用环境为win10 64位)
解压后的文件:
打开后:
下面进行测试
首先使用该工具下载(直接在网页点击下载)
用时3m26s7
然后是百度网盘会员下载
(没图)用时3m16s5
再就是百度网盘普通下载
( ╯□╰ )时间过长,自行感受一下
结果就摆在这了,在此不做任何评价(笑)同一个作者所做的http代理服务器项目
关于分段下载与断点下载
http不可能直接读取很大的文件一定会导致oom,而且传送很容易失败,一旦失败又要重新开始传输,这样体验可想而知,最后我们采用断点续传的方式来实现,
整个过程是分3步来完成的
功能描述:
上传视频metadata信息,metadata信息包括:md5、文件容量大小、文件名称。
返回视频的上传信息: 如果正在上传,返回当前文件的进度;如果上传成功,返回文件的保存url,视频截图的尺寸、视频时长
功能描述:
获取文件的上传信息,如果正在上传返回当前文件的进度; 如果上传成功返回文件的保存url,如果是视频返回视频时长,和截屏.
功能描述:
分块顺序上传文件,最终返回视频时长、视频缩略图等信息(由于用户录制视频较大,客户端播放很慢、卡,最终通过服务器异步压缩处理的方式解决体验)
4、publish
功能描述:
将返回的视频信息发送到逻辑服务器完成发布(摘自https://blog.csdn.net/leiyaqiang/article/details/68491506)
断点下载:断点下载与普通模式不一样的是,断点下载的头信息里面增加了一个属性
RANGE: bytes=100000-
这里RANGE代表客户端要从那个位置开始下载
而服务器返回时和普通模式不同的是:
1:多了一个属性
Content-Range=bytes 100000-19999/20000
注意还有一些属性要设置,和普通模式一样,例如Content-Length属性
2:返回码为206
(详情见http://cuisuqiang.iteye.com/blog/2095644)
相关链接
该项目的Q&A:https://github.com/monkeyWie/proxyee-down/blob/master/.guide/FAQ.md
proxyee:https://github.com/monkeyWie/proxyee
本文测试用福利:https://pan.baidu.com/s/1SGgAxuBsbNOhC6p6eVdQ2A 密码:71x9
关于作者
主要研究java和js
打算换工作