Linux下基於c++開發的多線程下載器
簡單介紹
本項目爲一款基於c++開發的linux下的http下載器,支持斷點下載、多線程下載。
Githup地址
MyDownload
期待您的star&fork。
主要思想
利用http協議的range頭配置來實現多線程並發現在以及斷點下載,在下載期間該程序會在下載目錄下生成一個保存狀態的臨時文件,等下載完成之後會自動刪除該文件。
使用說明
參數說明:
-u 設置目標URL
-d 設置保存文件的具體地址
-b 後臺下載
-h 查看參數詳情
-t 設置線程數量,最多不能超過20
示例:
#開十個線程下載node安裝包,保存到 /download/node.tar.gz
./http_down_main -u https://nodejs.org/dist/v4.2.3/node-v4.2.3-linux-x64.tar.gz -d ../download/node.tar.gz -t 10
快速上手
1.安裝gcc/g++
#centos下
sudo yum update
sudo yum install gcc
sudo yum install gcc-c++ libstdc++-devel
g++ --version #確認是否安裝完成
#ubuntu下
sudo apt-get install build-essential
g++ --version
2.下載壓縮包或git clone該項目並解壓,在項目目錄下運行以下指令
#centos下
sudo yum install git
git --version
#ubuntu下
sudo apt-get install git
git --version
#然後centos和ubuntu都執行以下指令
git clone https://github.com/harry502/MyDownload.git
cd MyDownload/src
make
cd ..
./bin/http_down_main -u https://nodejs.org/dist/v4.2.3/node-v4.2.3-linux-x64.tar.gz -d ./node.tar.gz -t 10
恭喜您,成功下載了node安裝包!