CR Abyss

接入文档

WebDAV API

WebDAV API

Abyss 实现了完整的 WebDAV 协议(Class 1/2/3),开发者可基于标准 HTTP 方法将本服务接入自有软件,无需依赖专用 SDK。

接口地址与认证

  • 所有 WebDAV 请求的根地址为 https://b.mvste.club/dav
  • 认证方式:HTTP Basic Auth,用户名/密码为「设置 → WebDAV 账户」中创建的值。
  • 每个 WebDAV 账户拥有独立的根路径,账户之间文件完全隔离。

支持的 HTTP 方法

方法用途常用请求头
OPTIONS能力探测(返回支持的 DAV 级别与 Allow 列表)
PROPFIND列目录 / 查询属性,Depth: 0|1|infinityDepth
MKCOL创建目录
GET / HEAD下载文件(目录返回 HTML 列表页)
PUT上传 / 创建文件(请求体为文件内容)Content-Type
DELETE删除文件或目录(含子内容)
COPY / MOVE复制 / 移动(跨目录、重命名)DestinationOverwrite
LOCK / UNLOCK文件锁定(排他锁,供并发编辑场景)TimeoutLock-Token
PROPPATCH设置 / 删除自定义属性

常用请求示例

# 1. 列出目录(返回 XML multistatus)
curl -u 用户名:密码 -X PROPFIND https://b.mvste.club/dav/ -H "Depth: 1"

# 2. 上传文件
curl -u 用户名:密码 -T ./local.txt https://b.mvste.club/dav/remote.txt

# 3. 下载文件
curl -u 用户名:密码 https://b.mvste.club/dav/remote.txt -o ./local.txt

# 4. 创建目录
curl -u 用户名:密码 -X MKCOL https://b.mvste.club/dav/newfolder

# 5. 重命名 / 移动(MOVE 到新地址)
curl -u 用户名:密码 -X MOVE https://b.mvste.club/dav/old.txt -H "Destination: https://b.mvste.club/dav/new.txt"

# 6. 复制
curl -u 用户名:密码 -X COPY https://b.mvste.club/dav/old.txt -H "Destination: https://b.mvste.club/dav/copy.txt"

# 7. 删除
curl -u 用户名:密码 -X DELETE https://b.mvste.club/dav/old.txt

响应状态码

状态码含义
200 OK操作成功(如 LOCK、OPTIONS)
201 Created资源创建成功(PUT、MKCOL、COPY/MOVE)
204 No Content删除 / 覆盖成功
207 Multi-StatusPROPFIND / PROPPATCH 的 XML 多状态响应
401 Unauthorized未认证或凭据错误
403 Forbidden无权限(如越权访问他人空间)
404 Not Found资源不存在
409 Conflict操作冲突(如父目录不存在)
423 Locked资源被他人锁定
507 Insufficient Storage超出存储配额