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?