2010-06-21 2 views
2

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

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

С уважением,

Стефан

ответ

7

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

3

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

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

[urlRequest setHTTPMethod:@"HEAD"]; 
+0

Интеллектуальное решение. Благодаря ... – Stefan

Смежные вопросы