簡介

一個使用本地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

打算換工作