aria2 中文文档 下载 App

RPC 常用方法速查:添加任务、查进度、暂停续传

一次调用长什么样

向本机 6800 端口的 JSON-RPC 路径 POST 一个请求体(先开启 RPC,见开启 RPC):

{
  "jsonrpc": "2.0",
  "id": "qwer",
  "method": "aria2.addUri",
  "params": ["token:你的密钥", ["下载直链"]]
}

返回结果里的 result 就是新任务的 GID——16 位十六进制字符串(如 2089b05ecca3d829),之后查状态、暂停、删除全靠它。查询时允许只写 GID 前缀,只要不与其他任务混淆即可。

方法清单

任务操作

方法作用
aria2.addUri加 HTTP/FTP/SFTP/BT 直链任务(磁力链也走它)
aria2.addTorrent上传 .torrent 加任务
aria2.addMetalink上传 metalink 加任务
aria2.remove / forceRemove删除任务(force 不等收尾)
aria2.pause / forcePause暂停
aria2.pauseAll / forcePauseAll暂停全部
aria2.unpause / unpauseAll恢复
aria2.changeUri改任务的源地址
aria2.changePosition调整等待队列位置

状态查询

方法作用
aria2.tellStatus按 GID 查单个任务详情,可用 keys 参数只取需要的字段
aria2.tellActive / tellWaiting / tellStopped按队列段批量查询
aria2.getUris / getFiles / getPeers / getServers任务的地源、文件、peer、服务器明细
aria2.getGlobalStat总速度、活动/等待/停止任务数
aria2.getVersion / getSessionInfo版本与会话信息

全局控制

方法作用
aria2.changeGlobalOption运行中改全局参数(如限速)
aria2.getGlobalOption读当前全局参数
aria2.changeOption改单个任务参数
aria2.saveSession立即保存会话
aria2.purgeDownloadResult / removeDownloadResult清理完成记录
aria2.shutdown / forceShutdown停止服务
system.multicall一次调用打包多个方法
system.listMethods / listNotifications列出方法与通知(免密钥)

实用例子

查某个任务已下载多少(keys 过滤关键字段):

{
  "jsonrpc": "2.0",
  "id": "qwer",
  "method": "aria2.tellStatus",
  "params": ["token:你的密钥", "2089b05ecca3d829", ["gid", "totalLength", "completedLength"]]
}

调试建议

手动验证时用任意 HTTP 客户端发 POST 即可;前端开发可先调 system.listMethods 确认接口活着,再用 tellStatus 的 keys 过滤拿最小数据量。WebSocket 通知(任务开始/完成/出错等事件推送)走同一端口,适合做实时界面。