检查网址有效性

时间:2010-09-24 21:17:29

标签: iphone nsurl

有人可以确认-checkResourceIsReachableAndReturnError:的{​​{1}}方法按预期工作。我已尝试将其用于已知网址,并始终返回NSURL。我正在使用XCode的iPhone模拟器4.1。 谢谢。

3 个答案:

答案 0 :(得分:5)

根据NSURL Class Reference

  

返回是否可以访问文件URL指向的资源。
... 讨论
此方法在iOS中未实现,因此它执行没有操作

因此它仅适用于文件URL(您的URL可能不适用),并且它仅适用于Mac OS X.

答案 1 :(得分:4)

您可以使用此方法:

- (BOOL) validateUrl: (NSString *) url {
   NSString *theURL =
   @"(http|https)://((\\w)*|([0-9]*)|([-|_])*)+([\\.|/]((\\w)*|([0-9]*)|([-|_])*))+";
   NSPredicate *urlTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", theURL]; 
   return [urlTest evaluateWithObject:url];
   }

答案 2 :(得分:1)

如果您只想知道网址是否有效,可以

NSURLRequest *req = [NSURLRequest requestWithURL:[NSURL URLWithString:@"yourstring"]];
bool valid = [NSURLConnection canHandleRequest:req];