在iOS中检测Web服务器上是否存在文件(HTML)的正确方法是什么.使用以下方法检测myfile.html的存在始终返回true.
NSURL *url = [NSURL URLWithString:@"http://somewebsite.com/myfile.html"];
NSURLRequest *requestObject = [NSURLRequest requestWithURL:url];
NSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:requestObject delegate:self];
if (theConnection) {
NSLog(@"File exists");
} else {
NSLog(@"File does NOT exist");
}
Run Code Online (Sandbox Code Playgroud)
我相信它返回到HTTP服务器的连接成功,而不是检查文件myfile.html是否确实存在.
你需要使用连接:didReceiveResponse委托方法来检查http响应代码.类似下面的内容将检查以确保您得到200响应,具体取决于您的服务器,如果文件不存在,我希望状态代码为404.
- (void) connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
//make sure we have a 2xx reponse code
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response;
if ([httpResponse statusCode]/100 == 2){
NSLog(@"file exists");
} else {
NSLog(@"file does not exist");
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
721 次 |
最近记录: |