@

1. aria2使用ajax调用/页面浏览器RPC调用aria2

1.1. 总结:

网上很少有的教程ajax调用。

  • aria2作为后台下载服务器,接受前台(浏览器或者cmd命令端口)的命令进行下载。
  • 有了以下ajax命令就可以在网页上点击按钮直接调用aria2后台下载了。

aria2提供网页UI控制界面如Aira2Ng等,直接提供下载地址,提供相关控制下载。

我是对照的http://aria2c.com/以及Aira2Ng请求参数慢慢推敲的,大家也可以这么来获取更多命令。

像什么nodejs已经python也都可以调用,但未深入研究。只觉得ajax调用比较亲民实用,故此研究。并分享出来。

1.2. ajax调用aria2—Demo

自定义工具下载下载地址

1.3. postMan命令测试

postMan能通过也就等于ajax可以使用了,原理一致。需要有前端知识。

1.3.1. post基本使用方法

  1. cmd启动命令可以看日志,窗口关闭失效,

    aria2c.exe --conf-path=aria2.conf

  2. postman请求参数设置

  3. 请求地址http://localhost:6800/jsonrpc

  4. 请求参数如下:(注意post 参数在 body 下 raw下面)

1.3.2. 单一文件下载


测试一:
{
"jsonrpc": "2.0",
"method": "aria2.addUri",
"id": 456,
"params": [
["http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe"], {
"split": "5",
"max-connection-per-server": "5",
"seed-ratio": "0"
}
]
} 测试二:带下载地址和重命名 {
"jsonrpc": "2.0",
"method": "aria2.addUri",
"id": 1,
"params": [["http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe"], {
"out": "QQ1235.exe",
"dir": "./微信文件夹",
"pause": "false",//是否暂停下载
"split": "5",
"max-connection-per-server": "5",
"seed-ratio": "0"
}]
}

1.3.2. 多文件下载


[{
"jsonrpc": "2.0",
"method": "aria2.addUri",
"id": 1,
"params": [["https://cdn.bootcss.com/jquery/3.4.1/jquery.js"], {
"out": "j11.js",
"dir": "./下载3/jquer1y", }]
}, {
"jsonrpc": "2.0",
"method": "aria2.addUri",
"id": 2,
"params": [["https://cdn.bootcss.com/jquery/3.4.1/core.js"], {
"out": "j22.js",
"dir": "./下载3/jquer1y", }]
}]

1.3.3. 取消暂停

[{"jsonrpc":"2.0","method":"aria2.unpause","id":1,"params":["1d02656f3dbbf3a4"]}]

{"jsonrpc":"2.0","method":"aria2.unpause","id":"QXJpYU5nXzE1NzA3MDg1NDZfMC4wNjE0MzE0MTg4Nzc5NDE0Ng==","params":["1d02656f3dbbf3a4"]}

1.3.4. 停止和暂停对应的进程

[{"jsonrpc":"2.0","method":"aria2.pause","id":1,"params":["1d02656f3dbbf3a4"]}]
{"jsonrpc":"2.0","method":"aria2.unpause","id":"1","params":["d9562748f18a4f94"]}

1.3.5. 开始所有/停止所有

{"jsonrpc":"2.0","method":"aria2.pauseAll","id":1,"params":[]}
{"jsonrpc":"2.0","method":"aria2.unpauseAll","id":1,"params":[]}

1.3.6. 查询所有停止下载的信息

{"jsonrpc":"2.0","method":"aria2.tellStopped","id":1,"params":[0,1000]}

1.3.7. 删除记录

{"jsonrpc":"2.0","method":"aria2.removeDownloadResult","id":"QXJpYU5nXzE1NzA3MDk0NjRfMC44OTQ2Njc5NDY0NjQzNTc5","params":["a788bd810e9dcb31"]}

1.3.8. 在下载中强制暂停/停止

{"jsonrpc":"2.0","method":"aria2.forcePause","id":"QXJpYU5nXzE1NzA3MDk4NjdfMC43NDc1OTgzNzkzNDE4NDIx","params":["d9562748f18a4f94"]}

1.3.9. 设置网速

{"lowest-speed-limit":"1"} 1表示一字节

{"jsonrpc":"2.0","method":"aria2.changeGlobalOption","id":"QXJpYU5nXzE1NzA3MTAwMDZfMC41MzM4NjkzNjUyMDAzMDE5","params":[{"lowest-speed-limit":"1"}]}

1.3.10. 设置相关参数

{"jsonrpc":"2.0","method":"aria2.changeGlobalOption","id":1,"params":[{"max-overall-download-limit":"1 KiB","max-overall-upload-limit":"20 KiB","max-concurrent-downloads":"20","min-split-size":"10 MiB","user-agent":"Transmission/2.77","dir":"downloadData"}]}

1.3.11. 查看所有正在下载的信息

{"jsonrpc":"2.0","method":"aria2.tellActive","id":1}

返回结果

1.3.12. 查询所有暂时(等待下载信息 非下载完成停止信息)

{"jsonrpc":"2.0","method":"aria2.tellWaiting","id":1,"params":[0,1000]}

1.3.13. 查询所有已经完成或者停止的信息

{"jsonrpc":"2.0","method":"aria2.tellStopped","id":1,"params":[0,1000]}

1.3.14. 查询版本信息

{"jsonrpc":"2.0","method":"aria2.getVersion","id":1,"params":[]}

1.3.15. 查询状态信息

{"jsonrpc":"2.0","method":"aria2.getGlobalStat","id":1,"params":[]}

1.3.16. 获得的多个参数



{
"jsonrpc": "2.0",
"method": "aria2.addUri",
"id": "QXJpYU5nXzE1NzA3MDg5MjZfMC45ODgyODc0NDcxMTE2MzI3",
"params": [["http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe", "http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe", "http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe", "http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe", "http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe", "http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe", "http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe", "http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe", "http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe", "http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe", "http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe", "http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe", "http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe", "http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe", "http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe", "http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe", "http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe", "http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe", "http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe", "http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe", "http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe", "http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe", "http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe", "http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe", "http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe", "http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe", "http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe", "http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe", "http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe", "http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe", "http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe", "http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe", "http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe", "http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe", "http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe"], {
"allow-overwrite": "false",
"allow-piece-length-change": "false",
"always-resume": "true",
"async-dns": "true",
"auto-file-renaming": "true",
"bt-enable-hook-after-hash-check": "true",
"bt-enable-lpd": "false",
"bt-force-encryption": "false",
"bt-hash-check-seed": "true",
"bt-load-saved-metadata": "false",
"bt-max-peers": "55",
"bt-metadata-only": "false",
"bt-min-crypto-level": "plain",
"bt-remove-unselected-file": "false",
"bt-request-peer-speed-limit": "51200",
"bt-require-crypto": "false",
"bt-save-metadata": "true",
"bt-seed-unverified": "true",
"bt-stop-timeout": "0",
"bt-tracker-connect-timeout": "60",
"bt-tracker-interval": "0",
"bt-tracker-timeout": "60",
"check-integrity": "false",
"conditional-get": "false",
"connect-timeout": "60",
"content-disposition-default-utf8": "false",
"continue": "true",
"dir": "./QQ下载文件夹2",
"dry-run": "false",
"enable-http-keep-alive": "true",
"enable-http-pipelining": "false",
"enable-mmap": "false",
"enable-peer-exchange": "false",
"file-allocation": "falloc",
"follow-metalink": "true",
"follow-torrent": "true",
"force-save": "false",
"ftp-pasv": "true",
"ftp-reuse-connection": "true",
"ftp-type": "binary",
"hash-check-only": "false",
"http-accept-gzip": "false",
"http-auth-challenge": "false",
"http-no-cache": "false",
"lowest-speed-limit": "0",
"max-connection-per-server": "5",
"max-download-limit": "0",
"max-file-not-found": "0",
"max-mmap-limit": "9223372036854775807",
"max-resume-failure-tries": "0",
"max-tries": "5",
"max-upload-limit": "0",
"metalink-enable-unique-protocol": "true",
"metalink-preferred-protocol": "none",
"min-split-size": "10485760",
"no-file-allocation-limit": "5242880",
"no-netrc": "false",
"out": "QQ66.exe",
"parameterized-uri": "false",
"pause-metadata": "false",
"piece-length": "1048576",
"proxy-method": "get",
"realtime-chunk-checksum": "true",
"remote-time": "false",
"remove-control-file": "false",
"retry-wait": "0",
"reuse-uri": "true",
"rpc-save-upload-metadata": "true",
"save-not-found": "true",
"seed-ratio": "0",
"split": "5",
"stream-piece-selector": "default",
"timeout": "60",
"uri-selector": "feedback",
"use-head": "false",
"user-agent": "Transmission/2.77"
}]
}

页面调用


<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>
</head>
<body> </body>
<script>
//https://static.zhihu.com/heifetz/vendor.7177302d6c7d65981005.js
var url1 = "http://localhost:6800/jsonrpc?tm=1569769711558";
var downData=[{
"jsonrpc": "2.0",
"method": "aria2.addUri",
"id": 456,
"params": [
["http://fastsoft.onlinedown.net/down/PCQQ9.1.8.26211.exe"], {
"split": "5",
"max-connection-per-server": "5",
"seed-ratio": "0"
}
]
}, {
"jsonrpc": "2.0",
"method": "aria2.addUri",
"id": 457,
"params": [
["https://cdn.bootcss.com/jquery/3.4.1/jquery.js"], {
"split": "5",
"max-connection-per-server": "5",
"seed-ratio": "0"
}
]
}, {
"jsonrpc": "2.0",
"method": "aria2.addUri",
"id": 458,
"params": [
["https://static.zhihu.com/heifetz/vendor.7177302d6c7d65981005.js"], {
"split": "5",
"max-connection-per-server": "5",
"seed-ratio": "0"
}
]
}]; $.ajax({
url: url1,
data: JSON.stringify(downData),
type: "post",
//async: false,//false为同步
dataType: "json",
success: function(obj) {
console.log(obj)
}
});
</script>
</html>
idid

1.4. 相关教程

Aria2 & YAAW 使用说明

下载工具系列——Aria2 (几乎全能的下载神器)

百度Google+研究=知晓一切

也欢迎讨论QQ:1092413979

aria2使用ajax调用/页面浏览器RPC调用aria2的更多相关文章

  1. HtmlUnit爬取Ajax动态生成的网页以及自动调用页面javascript函数

    HtmlUnit官网的介绍: HtmlUnit是一款基于Java的没有图形界面的浏览器程序.它模仿HTML document并且提供API让开发人员像是在一个正常的浏览器上操作一样,获取网页内容,填充 ...

  2. Java实现:服务端登录系统并跳转到系统内的指定页面(不调用浏览器)

    Java实现:服务端登录系统并跳转到系统内的指定页面(不调用浏览器) 1,思路:根据爬虫思想: 2,代码: /** * ClassName:AuthFr * Function: TODO * Reas ...

  3. IE,Google Chrome等浏览器,调试模式在控制台可以手动调用页面的方法来调试

    IE,Google Chrome等浏览器,调试模式在控制台可以手动调用页面的方法来调试,这种方式也可以进断点.

  4. [置顶] Ajax程序:处理异步调用中的异常(使用Asp.Net Ajax内建的异常处理方法)

    无论在Window应用程序,还是Web应用程序以对用户友好的方式显示运行时的异常都是很有必要,尤其对于可能有很多不确定因素导致异常的Web应用程序;在传统的Web开发中,处理异常的方式——设计专门一个 ...

  5. 原生js,jquery ajax请求以及jsonp的调用

    ajax    是用来处理前后端交互的技术,可以改善用户体验,其本质是    XMLHttpRequest,异步访问服务器并发送请求数据,服务器返回响应的数据,以页面无刷新的效果改变页面中的局部内容  ...

  6. 实现jquery.ajax及原生的XMLHttpRequest调用WCF服务的方法

    废话不多说,直接讲解实现步骤 一.首先我们需定义支持WEB HTTP方法调用的WCF服务契约及实现服务契约类(重点关注各attribute),代码如下: //IAddService.cs namesp ...

  7. 使用微信JS-SDK调用微信浏览器的接口

    先附上微信公众平台的相关链接: 微信公众平台:https://mp.weixin.qq.com/ 微信公众平台开发文档:https://mp.weixin.qq.com/wiki 微信公众平台JS-S ...

  8. jquery调用页面的方法

    本文转载:http://www.cnblogs.com/chenxizhang/archive/2009/05/28/1491250.html 有些朋友问到,能不能在jquery代码中调用后台cs页面 ...

  9. 利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法

    利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法. 先来个简单的实例热热身吧. 1.无参数的方法调用 asp.net code: view plaincopy to clip ...

随机推荐

  1. web 部署专题(九):Nginx 前后端分离中csrf_token 认证的实现

    1. 思路 参考:https://stackoverflow.com/questions/20826201/simple-csrf-protection-using-nginx-alone?r=Sea ...

  2. 数据可视化之PowerQuery篇(八)利用PowerQuery,进行更加灵活的数据分列

    https://zhuanlan.zhihu.com/p/66540160 常规分列 我们最常见的就是有固定分隔符的规范数据,这种直接就按照分隔符拆分就可以了, 如果没有分割符怎么办?依然是上面的数据 ...

  3. Python网络编程04 /recv工作原理、展示收发问题、粘包现象

    Python网络编程04 /recv工作原理.展示收发问题.粘包现象 目录 Python网络编程04 /recv工作原理.展示收发问题.粘包现象 1. recv工作原理 2. 展示收发问题示例 发多次 ...

  4. bzoj3289Mato的文件管理

    bzoj3289Mato的文件管理 题意: 一共有n份资料,每天随机选一个区间[l,r],Mato按文件从小到大的顺序看编号在此区间内的这些资料.他先把要看的文件按编号顺序依次拷贝出来,再用排序程序给 ...

  5. 如何理解Javascript中的函数(Function)

    Function类型 首先得知道,每个函数都是Function类型的实例,所以函数本身是对象. 示例1: function sum (num1, num2){ return sum1 + sum2; ...

  6. Event-Driven Architecture思考

    什么是Event? An event represents a fact, something happened; and it is immutab. 事件代表着事实,代表着过去发生的某件事情,是不 ...

  7. Burp Suite Scanner Module - 扫描模块

    Burp Suite Professional 和Enterprise Version的Scaner功能较丰富. 以Professional版本为例,包含Issue activity, Scan qu ...

  8. Shell基本语法---for语句

    for语句 格式 ()for 变量名 in 值1 值2 值3 do 执行动作 done ()for 变量名 in `命令` do 执行动作 done ()for (( 条件 )) do 执行动作 do ...

  9. Oracle11.2安装和完全卸载及卸载后重装等问题

    官网:https://www.oracle.com/index.html 安装: 1.官网下载2.解压到同一个目录(database)3.运行安装4.如果提示系统版本低可在(database\stag ...

  10. 网络流(dinic算法)

    洛谷p3376 https://www.luogu.com.cn/problem/P3376 #include <iostream> #include <cstdio> #in ...