笔记:外部调用 Cloudreve 的 API 对网盘进行 操作…

本来只是想把文件从外部导入到Cloudreve,但是软件里没有提供任何合适的途径,研究了好久,试了好多好多种奇怪的方法…

最后发现,还是模拟HTTP请求来的快!

离线下载

想要模拟用户新建离线下载任务,首先要登录:

第一步 登录 Cloudreve

1) 请求地址

http://155.94.144.40:5212/api/v3/user/session

先使用http,毕竟我目前也不知道怎么用https
如果要在自己的Cloudreve使用请更换ip。

2) 调用方式:HTTP post

3) 接口描述:

  • 这个是从前端的login界面登录时会发送的请求。

4) 请求参数:

{"userName":"这里写邮箱","Password":"这里是密码.","captchaCode":""}

POST参数:

字段名称字段说明类型必填备注
userName邮箱Y
Password密码Y
captchaCode二步验证N没开就不用

5) 请求返回结果:

{
    "code": 0,
    "data": {
        "id": "9lCQ",
        "user_name": "*******(你的账号)",
        "nickname": "番剧库",
        "status": 0,
        "avatar": "",
        "created_at": 1619172964,
        "preferred_theme": "",
        "anonymous": false,
        "policy": {
            "saveType": "onedrive",
            "maxSize": "0.00mb",
            "allowedType": [
                
            ],
            "upUrl": "/api/v3/file/upload",
            "allowSource": true
        },
        "group": {
            "id": 7,
            "name": "特殊",
            "allowShare": true,
            "allowRemoteDownload": true,
            "allowArchiveDownload": false,
            "shareDownload": true,
            "compress": true,
            "webdav": true
        },
        "tags": [
            
        ]
    },
    "msg": ""
}

6) 同时会返回Header

Ip: 155.94.144.40
Request URL: http://155.94.144.40:5212/api/v3/user/session
Request Method: POST
Status Code: 200 OK
Request Proto: HTTP/1.1
Request HeaderResponse HeaderContent-Type:application/json; charset=utf-8;
Set-Cookie:cloudreve-session=MTYyMDU4MTA1OHxOd3dBTkZZMU4wNVBNazlUV0RKTFNUWlNWMHBLVlRORVNVODJUVXhWTTBsT1RGRk5EUk9ORnBEVEZaVVF6Wk5Na0U9fMydxX6tKCFY0u7dGqFaZAlIPLGyl3-zPvb0UX9wUD0x; Path=/; Expires=Sun, 16 May 2021 17:24:18 GMT; Max-Age=604800; HttpOnly;
Date:Sun, 09 May 2021 17:24:18 GMT;
Content-Length:468;

这里返回的Cookie就相当于你的密钥,有了Cookie就能在七天之内随便折腾。(不过最好还是先获取再进行你的操作)

第二步 提交离线下载请求

1) 请求地址

http://155.94.144.40:5212/api/v3/aria2/url

如果要在自己的Cloudreve使用请更换ip。

2) 调用方式:HTTP post

3) 接口描述:

  • 相当于你在离线下载界面添加一个任务,需要cookie

4) 请求参数:

{
    "url": "下载链接",
    "dst": "/下载目录"
}

POST参数:

字段名称字段说明类型必填备注
url下载链接jsonY输入文件下载地址,支持 HTTP(s)/FTP/磁力链
dst下载目录jsonY直接键入你想要的下载目录,必须是已经存在的目录

5) 请求返回结果:

{
"code": 0,
"msg": ""
}
//成功直接回复0

//填了不存在的路径
{"code":404,"msg":"存放路径不存在"}
//被Aria2拒绝的情况
{"code":-1,"msg":"任务创建失败"}

刚开始研究HTTP,还是挺好用的。

感觉这样甚至还能用简简单单的HTTP请求做出来个Cloudreve的客户端出来。

文件夹操作

创建目录

1) 请求地址

http://155.94.144.40:5212/api/v3/directory

2) 调用方式:HTTP put

3) 接口描述:

  • 新建指定目录,可建多层,必须在请求标头中附加Cookie。

4) 请求参数:

{
    "path": "/test/123123/哈哈哈/🎎🎁/sad"
}
#可以写任何Cloudreve允许的字符

参数:

字段名称字段说明类型必填备注
path路径stringY

5) 请求返回结果:

{"code":0,"msg":""}

{"code":40004,"msg":"同名目录已存在"}

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇