كيفية التعامل بأمان مع واجهة برمجة التطبيقات المسقطة

StackOverflow https://stackoverflow.com/questions/1004191

  •  05-07-2019
  •  | 
  •  

سؤال

مع تعطل تويتر اليوم، كنت أفكر في أفضل طريقة للتعامل مع المكالمات إلى واجهة برمجة التطبيقات (API) عندما تكون معطلة.إذا كنت أستخدم CURL للاتصال بواجهة برمجة التطبيقات الخاصة بهم، فكيف أتسبب في فشل البرنامج النصي بسرعة والتعامل مع الأخطاء حتى لا يؤدي ذلك إلى إبطاء التطبيق؟

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

المحلول

وربما استخدام نوع من مخبأ من عدمه التغريد هو أعلى أو لأسفل. تسجيل استجابات غير صالحة من المعهد في ملف قاعدة بيانات أو خادم جانب. وبمجرد الحصول على اثنين / ثلاثة / بعض مبلغ آخر من الردود غير صالحة في صف واحد، تعطيل كافة الطلبات إلى واجهة برمجة التطبيقات لمبلغ العاشر من الزمن.

وبعد مبلغ العاشر من الزمن، محاولة الطلب، اذا كان لا يزال أسفل، تعطيل لمدة س مرة أخرى.

وإذا كان الملقم يمكن تشغيل وظائف CRON النظر في تقديم السيناريو الذي يتحقق المعهد استجابة صالحة كل بضع دقائق. إذا كان يجد أنه من أسفل، تعطيل طلبات حتى انها تصل الى الوراء. على الأقل في هذه الحالة الخادم سوف تفعل الاختبار وسيكون للمستخدمين ليس من الضروري أن تكون خنازير غينيا.

نصائح أخرى

يستخدم curl_setopt

curl_setopt($yourCurlHandle, CURLOPT_CONNECTTIMEOUT, '1'); // 1 second

إذا كنت تستخدم حليقة >= 7.16.2 وPHP >= 5.2.3، فهناك CURLOPT_CONNECTTIMEOUT_MS

استخدم curl_getinfo للحصول على رمز الاستجابة حليقة أو طول المحتوى والاختيار ضد هؤلاء.

$HttpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top