python3 使用aria2下载的一个脚本
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()["result"]) while curdowns >= maxdowns: print("Waitting for links...") time.sleep('2') #等不到就睡一觉 ret = requests.post(ariaurl, json=reqdata) curdowns=len(ret.json()["result"]) reqdata["method"] = "aria2.addUri" #aria 增加下载的方法 reqdata['params'] = [[],{}] reqdata['params'][0] = [url] reqdata['params'][1] = {"out" : fname,"dir" : fdir} ret = requests.post(ariaurl, json=reqdata) return(ret.status_code) ret = ariadown(dlurl,fn,dn) #下载的调用 print(ret) #是不是200?