Как обнаружить наличие файла на веб-сервере

Что было бы правильным способом в iOS для обнаружения наличия файла (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"); } 

Я верю, что возвращается, что соединение с 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"); } }