使用JSONRPC操作附带token(secret)的aria2

本文介绍了在树莓派上搭建aria2并使用JSONRPC进行HTTP调用时遇到的授权问题。文章详细分析了错误代码,探讨了Content-Type、Content-Length、Authorization头设置以及基本认证原理。通过研究pyaria2库源码,找到了解决使用token进行授权的方法,并提供了调整后的Python代码示例,最终成功实现了aria2的JSONRPC调用。
摘要由CSDN通过智能技术生成

最近树莓派更新了最新版本,pi4,终于换上了千兆网卡还有双USB3.0(据说是一个hub?好在我只用一个口)。终于可以尝试做一个像样的NAS了。因为已经有小白智家可以同步手机内容到百度云,所以,这次的目标很简答, 使用pi4搭aria2+samba,以实现自动下载,电视直接播放的功能。同时还可以兼职备份电脑上的文件。

----------------------------------------分割线,以下正文-----------------------------------------------------------------------------

首先,jsonrpc是http调用,完全可以用postman或者火狐自带插件进行调试,跟普通restful接口差不多。但调试过程中,苦于不了解aria2的jsonrpc结构,总是报一些奇怪的错误,其中,最常见的如下:

{"id":null,"jsonrpc":"2.0","error":{"code":-32600,"message":"Invalid Request."}}

这种一般使用了错误的httpMethod,aria2的jsonrpc需使用HttpMethod="POST"

{"id":null,"jsonrpc":"2.0","error":{"code":-32700,"message":"Parse error."}}

这种错误源于1- Content-Type不正确,正确的Content-Type应该是application/json,2-传入的json结构不正确,3-Content-Length不正确,如果用火狐调试,请每次删除Content-Length的header,由火狐自动生成

在网上找到了正确的JSON结构如:

{"jsonrpc": "2.0", "id": "qwer",
 "method": "aria2.addUri",
 "params": [["http://w
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值