WTClient中的PROPFIND请求

时间:2012-02-01 01:51:21

标签: objective-c ios webdav file-sharing cfnetwork

我想在我的应用程序中添加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服务器上请求文件并将它们收集到NSDictionaryNSArray中最模糊的想法,那将非常感激。

1 个答案:

答案 0 :(得分:1)

source of WTClient判断,您需要使用initWithLocalURLpreparePropertiesConnection和/或requestProperties来实现您的目标。

从源头上的一些评论来看,似乎是OTOH。 PROPFIND周围的功能(这对于从WebDAV获取目录列表确实是必要的)尚未完全实现...所以可能这对您的用例不起作用。

<强>更新

This是一个WebDAV客户端库,包含已在iOS上成功使用的源代码(几乎没有修改)。它包括PROPFIND和其他特定于WebDAV的http动词的实现......对我而言,这对你来说似乎是个不错的起点。