Проверьте, существует ли файл на веб-сайте


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

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

С уважением,

Стефан

2 2

2 ответа:

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

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

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

[urlRequest setHTTPMethod:@"HEAD"];