轻量级 WebDAV 客户端,适用于 macOS,无需 XML 库依赖
let baseUrl = "http://192.168.50.55:81/dav/"
let usr = "user"
let passwd = "password"
let wd = DoroWebDAVClient(baseUrl: baseUrl, usr: usr, passwd: passwd)
let fileData = "Hello, World!".data(using: .utf8)!
//
// Upload
//
// curl --user 'aaa:aaa' -T t1 http://192.168.50.55:81/dav/t1
//
await Task {
let ret = await wd.write("http://192.168.50.55:81/dav/doroTestFile", data: fileData)
dump(ret)
}.value
//
// Read
//
// curl --user 'aaa:aaa' http://192.168.50.55:81/dav/t1
//
await Task {
let ret = await wd.read("http://192.168.50.55:81/dav/doroTestFile")
print(String(data: ret!, encoding: .utf8)!)
}.value
//
// List
//
// curl --user 'aaa:aaa' -X PROPFIND -H "Depth: 1" http://192.168.50.55:81/dav/
//
await Task {
let ret = await wd.list()
dump(ret)
}.value
//
// Delete
//
// curl --user 'aaa:aaa' -X DELETE http://192.168.50.55:81/dav/t1
//
await Task {
let ret = await wd.delete("http://192.168.50.55:81/dav/doroTestFile")
dump(ret)
}.value
swift_doro_webdav_clientTests.swift
中设置您的 WebDAV 服务器信息。lighttpd-mod-webdav
进行过测试。