简介

一个使用本地http代理服务器方式嗅探下载请求的http下载器,目前主要提供了手动下载,刷新下载链接,与百度云的部分功能。并且支持分段下载与断点下载。该项目依赖于proxyee,想加入该项目的话请务必注意。

使用(以下使用环境为win10 64位)

解压后的文件:

打开后:

下面进行测试

首先使用该工具下载(直接在网页点击下载)

用时3m26s7

 

然后是百度网盘会员下载

(没图)用时3m16s5

 

再就是百度网盘普通下载

( ╯□╰ )时间过长,自行感受一下

结果就摆在这了,在此不做任何评价(笑)同一个作者所做的http代理服务器项目

关于分段下载与断点下载

http不可能直接读取很大的文件一定会导致oom,而且传送很容易失败,一旦失败又要重新开始传输,这样体验可想而知,最后我们采用断点续传的方式来实现,

整个过程是分3步来完成的

1、uploadVedioMetaDataInfo

功能描述:

上传视频metadata信息,metadata信息包括:md5、文件容量大小、文件名称。

返回视频的上传信息: 如果正在上传,返回当前文件的进度;如果上传成功,返回文件的保存url,视频截图的尺寸、视频时长

2、getUploadVedioInfo

功能描述:

获取文件的上传信息,如果正在上传返回当前文件的进度; 如果上传成功返回文件的保存url,如果是视频返回视频时长,和截屏.

3、uploadFileByBlock

功能描述:

分块顺序上传文件,最终返回视频时长、视频缩略图等信息(由于用户录制视频较大,客户端播放很慢、卡,最终通过服务器异步压缩处理的方式解决体验)

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

打算换工作