最近树莓派更新了最新版本,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"

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

被折叠的 条评论
为什么被折叠?



