检查网站上的文件是否存在

时间:2010-06-21 15:57:50

标签: iphone cocoa-touch nsurlconnection nsfilemanager

如果某个网站上的特定文件(test.licence)存在,我想检查iPhone上的

。我的方法(到目前为止)是下载文件并检查它是否存在于我的Documents目录中。但是,如果该文件不存在,Apache会出现一个HTML错误页面(我下载而不是test.licence)。检查文件大小是一个模糊的解决方案,因为它会有所不同。

那么,如果有在线文件​​(不是更多),我如何检查?我正在寻找一个简单而干净的解决方案。

此致

的Stefan

2 个答案:

答案 0 :(得分:7)

通过NSURLRequest提交NSURLConnection。当您收到回复时,请检查状态代码是200(它在那里),404(不是)或其他东西(发生了不同的事情)。

答案 1 :(得分:3)

404错误代码是查看页面是否存在的正确方法,但是如果您打算在UIWebView中显示页面,那么您将要先检查页面是否存在,如果存在,然后在Web视图中再次加载它(如果您首先这样做,则可能会显示Apache错误页面。)

为了不使用带宽两次,对于第一次健全性检查以查看文件是否存在,您可以执行HEAD请求,该请求仅捕获HTTP标头而不是页面正文。只需将其添加到您的代码中(假设urlRequest的类型为NSURLRequest):

[urlRequest setHTTPMethod:@"HEAD"];