https://www.jianshu.com/p/8124b5b6ef95
https://quan.ithome.com/0/331/853.htm
http://www.360doc.com/content/18/0707/23/56810834_768650003.shtml
============================================
*****
https://www.52pojie.cn/thread-643364-1-1.html
https://aria2c.com/usage.html
待用..
第一步: 以RPC模式启动Aria2
启动命令可以很简单,因为可以附加配置文件:
aria2c --conf-path=./aria2.conf
pause
这是windows上的,linux去掉pause就可以了.
然后附加上配置文件:
#允许rpc
enable-rpc=true
#允许非外部访问
rpc-listen-all=true
#RPC端口, 仅当默认端口被占用时修改
rpc-listen-port=6800
#最大同时下载数(任务数), 路由建议值: 3
max-concurrent-downloads=32
#断点续传
continue=true
#同服务器连接数
max-connection-per-server=16
#最小文件分片大小, 下载线程数上限取决于能分出多少片, 对于小文件重要
min-split-size=10M
#单文件最大线程数, 路由建议值: 5
split=256
#下载速度限制
max-overall-download-limit=0
#单文件速度限制
max-download-limit=0
#上传速度限制
max-overall-upload-limit=0
#单文件速度限制
max-upload-limit=0
#文件保存路径, 默认为当前启动位置
#dir="./"
#使用代理
all-proxy=localhost:1080
#添加引用页
referer=http://images.dmzj.com/
配置文件就这么写就行了.
JSON-RPC
向aria2中添加任务
不说多了,直接上Python代码:
import json
from urllib.request import urlopen
jsonreq = json.dumps({'jsonrpc': '2.0', 'id': 'qwer',
'method': 'aria2.addUri',
'params': [[url],{'refer': url,'dir':filepath}],
}).encode()
c = urlopen('http://localhost:6800/jsonrpc', jsonreq)
这里的一个问题就是发送的时候一定要是以二进制的形式发送,而不是以字符串的形式发送,官方给的例程没有对着这个json
进行encode
,所以我用的时候就会报错.