我想向我的应用程序添加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
中的想法都不了解,将不胜感激。 最佳答案
从source of WTClient判断,您需要使用initWithLocalURL
,preparePropertiesConnection
和/或requestProperties
来实现所需的功能。
OTOH从来源中的一些评论看来尤其如此。 PROPFIND
周围的功能(从WebDAV获取目录列表的确是必需的)尚未完全实现...因此,这可能不适用于您的用例。
更新:
This是一个WebDAV客户端库,其中包含已在iOS上成功使用的源代码(只需很少修改)。它包括PROPFIND
和其他特定于WebDAV的http动词的实现...对我来说,这似乎对您来说是个不错的起点。
关于objective-c - WTClient中的PROPFIND请求,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9089696/