Hyory Liu
分类
标签
2020 cdn cloudreve fabric ffmpeg fishingbot geyser http Minecraft minecraft mysql Rclone spigot surface teambition uwp windows wordpress 云服务 京都动画 优化 分享 动画 励志 反作弊 喜剧 壁纸 字幕 存储 宇宙兄弟 宝岛社 小工具 小爱同学 少女 建站 开源 开源软件 弹弹play 影评 心得 悲 截图 技术 挂机 排版 推理 推荐 教程 数据库 整合包 日常 日本动画 服务器 校园 武田绫乃 测试 生活日常 电脑 番剧 番剧截图 番剧推荐 白嫖 石原立也 矿透 视频压制 笔记 统计 网盘 网站 群组服 记录 设计 评测 资源 踩坑 软件 轻百合 轻音少女 追番 钓鱼 阿里 音乐 项目
706 字
4 分钟
笔记:外部调用 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 | 下载链接 | json | Y | 输入文件下载地址,支持 HTTP(s)/FTP/磁力链 |
dst | 下载目录 | json | Y | 直接键入你想要的下载目录,必须是已经存在的目录 |
5) 请求返回结果:
{
"code": 0,
"msg": ""
}
//成功直接回复0
//填了不存在的路径
{"code":404,"msg":"存放路径不存在"}
//被Aria2拒绝的情况
{"code":-1,"msg":"任务创建失败"}
刚开始研究 HTTP,还是挺好用的。
感觉这样甚至还能用简简单单的 HTTP 请求做出来个 Cloudreve 的客户端出来。
文件夹操作
创建目录
1) 请求地址
2) 调用方式:HTTP put
3) 接口描述:
- 新建指定目录,可建多层,必须在请求标头中附加 Cookie。
4) 请求参数:
{
"path": "/test/123123/哈哈哈/??/sad"
}
#可以写任何Cloudreve允许的字符
参数:
字段名称 | 字段说明 | 类型 | 必填 | 备注 |
---|---|---|---|---|
path | 路径 | string | Y | - |
5) 请求返回结果:
{"code":0,"msg":""}
{"code":40004,"msg":"同名目录已存在"}
笔记:外部调用 Cloudreve 的 API 对网盘进行 操作...
https://magma.ink/posts/cloudreve-aria2/