Проверьте, существует ли файл на сайте - PullRequest
2 голосов
/ 21 июня 2010

на iPhone Я хочу проверить, существует ли определенный файл (test.licence) на веб-сайте. Мой подход (до сих пор) состоял в том, чтобы загрузить файл и проверить, существует ли он в моем каталоге документов. Однако, если файл не существует, Apache представляет страницу ошибки HTML (которую я загружаю вместо test.licence). Проверка размера файла - нечеткое решение, поскольку оно варьируется.

Итак, как мне проверить, существует ли онлайн-файл (не более)? Я ищу простое, но чистое решение.

С уважением,

Stefan

Ответы [ 2 ]

7 голосов
/ 21 июня 2010

Отправить NSURLRequest через NSURLConnection.Получив ответ, проверьте, является ли код состояния 200 (он есть), 404 (нет) или что-то еще (произошло другое).

3 голосов
/ 21 июня 2010

Код ошибки 404 - это правильный способ узнать, существует ли страница, но если вы намереваетесь отобразить страницу в UIWebView, вам нужно проверить, существует ли страница в первую очередь и действительно ли она существует.затем вы загружаете его снова в веб-представлении (если вы сделали это первым, вы рискуете показать страницу ошибки Apache).

Чтобы не использовать пропускную способность дважды, для первой проверки работоспособностиПосмотрите, существует ли файл, вы можете выполнить запрос HEAD, который захватывает только заголовки HTTP, а не тело страницы.Просто добавьте это в свой код (при условии, что urlRequest имеет тип NSURLRequest):

[urlRequest setHTTPMethod:@"HEAD"];
...