2010-06-21 87 views
2

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

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

问候,

斯特凡

回答

7

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

3

404错误代码是查看页面是否存在的正确方法,但如果您打算在UIWebView中显示页面,则需要检查页面是否存在,并且如果它存在如果你这样做,你会冒险显示Apache错误页面)。

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

[urlRequest setHTTPMethod:@"HEAD"]; 
+0

智能解决方案。谢谢 ... – Stefan 2010-06-27 17:00:29