我遇到了一些麻烦,找到了一种在我的应用上验证网址的方法 我的目的是加载一个URL,同时查看是否存在其他网页。
加载http://mysite.com/folder1/1.pdf
验证http://mysite.com/folder1/2.pdf
如果folder1 / 2.pdf存在,则加载它,否则验证/folder2/1.pdf
到目前为止我正在加载这样的第一个pdf,以便能够更改pdf编号和文件夹:
int numpag = 1;
NSString *baseUrl =@"http://www.cronica.com.mx/iphone/pdf_iphone/";
[pdfView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:[baseUrl stringByAppendingFormat:@"folder1/%d.pdf", numpag]]]];
提前非常感谢!
答案 0 :(得分:4)
怎么样:
+ (BOOL)isValidURL:(NSURL*)url
{
NSURLRequest *req = [NSURLRequest requestWithURL:url];
NSHTTPURLResponse *res = nil;
NSError *err = nil;
[NSURLConnection sendSynchronousRequest:req returningResponse:&res error:&err];
return err!=nil && [res statusCode]!=404;
}
让我知道它是否适合您!
(请记住,这是同步请求,不应在主线程上执行)
答案 1 :(得分:0)
我不得不换行:
return err!=nil && [res statusCode]!=404;
到
return err==nil && [res statusCode]!=404;
正确的Bool回归。错误应保持为零。
答案 2 :(得分:0)
这种方法不正确,你应该避免同步调用,因为它们是阻塞的。 Apple说:只需等待等待响应即可。