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?

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM