winsoft666-teemo基于 C++ 的下載工具
teemo 是一個使用 C++ 開發(fā)的下載工具,基于 libcurl 開發(fā)而來,它支持如下特性:
- 多協(xié)議支持,由于是基于libcurl的,所以支持libcurl所支持的所有協(xié)議,如http, https, ftp等。
- 支持多線程下載
- 支持斷點續(xù)傳
- 支持暫停/繼續(xù)下載
- 支持獲取實時下載速率
- 支持下載限速
- 支持磁盤緩存
- 支持文件哈希校驗
- 支持大文件下載
- 支持兼容服務(wù)器對客戶端加速下載的限制
編譯與安裝
方式一、使用 vcpkg
teemo庫已經(jīng)收錄到微軟的vcpkg之中,可以使用如下命令快速安裝:
-
- 下載安裝vcpkg(詳見https://github.com/microsoft/vcpkg
git clone https://github.com/Microsoft/vcpkg.git cd vcpkg PS> bootstrap-vcpkg.bootstrap Linux:~/$ ./bootstrap-vcpkg.sh
-
- 安裝teemo
PS> .\\vcpkg install teemo [--triplet x64-windows-static/x64-windows/x64-windows-static-md and etc...] Linux:~/$ ./vcpkg install teemo
方式二、使用源碼編譯
1. 安裝依賴項
我傾向于使用vcpkg來安裝依賴項,當然,這不是安裝依賴項的唯一方式,你可以使用任何方式來安裝依賴項。
建議將vcpkg.exe所在目錄添加到PATH環(huán)境變量。
- libcurl
<pre># 如果需要支持非http協(xié)議,如ftp等,需要指定[non-http]選項 vcpkg install curl[non-http]:x86-windows
</li> <li> gtest 單元測試項目使用了gtest。 <pre>vcpkg install gtest:x86-windows
</li>
2. 編譯
使用CMake生成相應(yīng)的工程,然后編譯即可。 Windows示例
cmake.exe -G "Visual Studio 15 2017" -DBUILD_SHARED_LIBS=ON -DBUILD_TESTS=ON -S %~dp0 -B %~dp0build
Linux示例
cmake -DBUILD_SHARED_LIBS=ON -DBUILD_TESTS=ON
# 如果使用vcpkg安裝依賴庫,需要指定CMAKE_TOOLCHAIN_FILE cmake -DCMAKE_TOOLCHAIN_FILE=/xxx/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-linux -DBUILD_SHARED_LIBS=ON -DBUILD_TESTS=ON
make
命令行工具
teemo_tool是一個基于teemo庫開發(fā)的命令行下載工具,用法如下:
teemo_tool URL TargetFilePath [ThreadNum] [DiskCacheMb] [MD5] [TmpExpiredSeconds] [MaxSpeed]
- URL: 下載鏈接
- TargetFilePath: 下載的目標文件保存路徑
- ThreadNum: 線程數(shù)量,可選,默認為1
- DiskCacheMb: 磁盤緩存大小,單位Mb,默認為20Mb
- MD5: 下載文件的MD5,可選,若不為空,則在下載完成之后會進行文件MD5校驗
- TmpExpiredSeconds: 秒數(shù),可選,臨時文件經(jīng)過多少秒之后過期
- MaxSpeed: 最高下載速度(byte/s)
評論
圖片
表情
