关于aria2的下载及部署可自行百度。本次使用python3.6,aria2 1.3.4, 只用requests模块来实现给aria2自动增加下载链接的功能。本文考虑了以下几个方面:
1、为了防止作业的等待,对当前活动的下载数进行判断,只在不大于最大并发数时才增加下载链接。
2、可直接使用文件落地后的名字,避免以后改名之苦,过来人都知道的。
import requests
import time
ariaurl="http://localhost:6800/jsonrpc"
dlurl="http://xxx.xxx.xxx/xxx.xxx" #需下载文件的真实
fn="XXX.XXX" #落地的文件名,
dn="XXX/XXXX/xxxx" #本地目录
maxdowns=3 #最大并发数
#jsondata rpc调用的数据头(固定部分)
jsondata={
"jsonrpc":"2.0",
"id":"QXJpYU5nXzE1NDgzODg5MzhfMC4xMTYyODI2OTExMzMxMzczOA==",
}
def ariadown(url,fname,fdir): #url 是下载文件的链接,fanme和fdir分别为本地文件名和目录
reqdata=jsondata
reqdata["method"] = "aria2.tellActive" #aria 取当前并发数的的方法
ret = requests.post(ariaurl, json=reqdata)
#print(ret.json())
curdowns=len(ret.json()["