سؤال

على iPhone أريد التحقق ، إذا كان ملف معين (test.licence) على موقع ويب Exsists. كان نهجي (حتى الآن) هو تنزيل الملف والتحقق مما إذا كان موجودًا في دليل المستندات الخاص بي. ومع ذلك ، إذا لم يكن الملف موجودًا ، يقدم Apache صفحة خطأ HTML (التي أقوم بتنزيلها بدلاً من test.licence). إن التحقق من حجم الملف هو حل غامض ، لأنه يختلف.

لذا ، كيف يمكنني التحقق ، إذا كان هناك ملف عبر الإنترنت (ليس أكثر)؟ أنا أبحث عن حل بسيط ولكنه نظيف.

يعتبر،

ستيفان

هل كانت مفيدة؟

المحلول

إرسال NSURLRequest عبر NSURLConnection. عندما تتلقى استجابة ، تحقق مما إذا كان رمز الحالة هو 200 (إنه موجود) أو 404 (ليس) أو أي شيء آخر (حدث شيء مختلف).

نصائح أخرى

رمز الخطأ 404 هو الطريقة الصحيحة لمعرفة ما إذا كانت الصفحة موجودة ، ولكن إذا كنت تعتزم عرض الصفحة في UIWEBView ، فأنت تريد التحقق مما إذا كانت الصفحة موجودة أولاً ، وإذا كانت كذلك ، فأنت كذلك ، فأنت كذلك ، قم بتحميله مرة أخرى داخل عرض الويب (إذا فعلت ذلك أولاً ، فأنت تخاطر بإظهار صفحة خطأ Apache).

من أجل عدم استخدام عرض النطاق الترددي مرتين ، لكي يتحقق العقل الأول لمعرفة ما إذا كان الملف موجودًا ، يمكنك تقديم طلب رأس ، والذي يستحوذ فقط على رؤوس HTTP وليس جسم الصفحة. ما عليك سوى إضافة هذا إلى الكود الخاص بك (على افتراض أن urlrequest هو من نوع nsurlrequest):

[urlRequest setHTTPMethod:@"HEAD"];
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top