我想在我的应用程序中添加WebDAV和iDisk界面,但是我对存储在服务器上的文件有一点技术问题。问题“How do I use a WebDAV server || to get a list of files”的每个答案似乎都以“使用PROPFIND请求”结尾。我决定使用WTClient类,因为它们为我建立和终止服务器的流并管理上传和下载,但这里是WTClient失败的地方:它无法收集服务器上的文件列表(或者我似乎无法收集清单,无论你的船是什么漂浮。它用这一行输入PROPFIND请求:
WTHTTPConnection *connection = [[WTHTTPConnection alloc] initWithDestination:remoteURL
protocol:@"PROPFIND"];
然后将结果收集为NSDictionary
。但是,WTClient不是使用该字典来获取文件列表,而是使用它从字典中的XML收集错误代码信息(如果存在)。虽然有用,但它并不是我想要的。如果有人甚至对如何在WebDAV服务器上请求文件并将它们收集到NSDictionary
或NSArray
中最模糊的想法,那将非常感激。
答案 0 :(得分:1)
从source of WTClient判断,您需要使用initWithLocalURL
,preparePropertiesConnection
和/或requestProperties
来实现您的目标。
PROPFIND
周围的功能(这对于从WebDAV获取目录列表确实是必要的)尚未完全实现...所以可能这对您的用例不起作用。
<强>更新强>:
This是一个WebDAV客户端库,包含已在iOS上成功使用的源代码(几乎没有修改)。它包括PROPFIND
和其他特定于WebDAV的http动词的实现......对我而言,这对你来说似乎是个不错的起点。