如何进行服务器身份验证以从iOS中的受密码保护的目录下载plist文件

时间:2011-06-20 10:56:18

标签: iphone objective-c xcode

我需要从远程服务器访问一些plist文件,这些文件位于受密码保护的目录中。如果没有使用密码来访问目录,我使用简单的代码,它可以工作:

NSString *query = @"http://www.sante.com/FFFF/privat/updateDates.plist";

NSURL *urlDates = [NSURL URLWithString:[query stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; 
NSDictionary *datesUrl = [NSDictionary dictionaryWithContentsOfURL:urlDates];

但是在密码保护目录的情况下,是否存在一种在xcode中处理它的方法(不使用NSUrlCOnnection,xmlparser,因为我不想解析文件,而我可以使用dictionaryWithContentsOfURL直接访问)?

编辑:关键是我只想写一些代码来访问/下载从web服务器到ios设备的plist文件(位于服务器的密码保护目录中)。但我不知道该怎么做。如果没有使用密码访问服务器目录,我上面的代码工作得很好,但我需要以安全模式访问它们,我只需要以编程方式验证webserver目录密码(硬编码)。

1 个答案:

答案 0 :(得分:1)

如果您需要通过支持身份验证来处理自定义下载过程,那么您需要停止使用dictionaryWithContentsOfURL:并开始使用NSConnection,因为NSConnection < em> 用于自定义URL下载的API。特别是,请查看委托方法connection:didReceiveAuthenticationChallenge:,它是您在身份验证过程中挂钩的地方。

您不需要使用XML解析器,因为您无需解析下载的内容。您下载数据后将数据移至NSPropertyListSerialization,并且可以向您返回NSDictionary个实例。