أبرز النقاط
إذا تعطل أحد خوادمنا، ينتقل طلبك التالي مباشرة إلى خادم آخر. أصبحت الـ API، ومنفذ الـ proxy، وخادم MCP، وتسجيل الدخول، والموقع تعمل جميعها على خوادم احتياطية أيضاً، وتتحول حركة المرور تلقائياً. كما توقفت حدود الـ rate limits عن معاقبة التجاوزات الطفيفة: ستحصل على حصتك كاملة، ولن يُرفض سوى الفائض فقط.
ما الجديد
خوادم احتياطية خلف كل نقطة
إذا توقفت الخوادم الرئيسية عن الاستجابة، تنتقل حركة المرور الخاصة بك إلى خوادم احتياطية دون الحاجة إلى أي تعديل من جانبك. نفس المفاتيح، ونفس المضيفين، ونفس مستخدمي الـ proxy.
الطلب الذي يصل إلى خادم غير قادر على معالجته في الوقت الحالي يُمرر إلى خادم متاح، بدلاً من إرجاع خطأ. ولا تتباطأ اتصالاتك على الخوادم المتبقية أثناء حدوث ذلك.
حدود الـ rate limits تقتطع ولا تحظر
إذا تجاوزت حصتك في الدقيقة قليلاً على خطة Single أو Proxy Finder، فستحصل الآن على كامل حصتك، مع رفض الفائض فقط، لأن الطلبات المرفوضة لم تعد تُحتسب ضمن الدقيقة. يحدد Retry-After موعد السماح بالطلب التالي.
إذا كررت المحاولة بكثافة زائدة، فستحصل على فترة توقف مؤقتة. بمجرد أن تتجاوز الطلبات المرفوضة في دقيقة واحدة ضعف حصتك المحددة، ستكون الاستجابة فترة انتظار مدتها 30 ثانية محددة برمز cooldown: true، وبما أن عمليات الرفض خلال هذه الفترة لا تُحتسب، فإنها تنتهي تلقائياً حتى لو استمر عميلك في إرسال الطلبات. وتتبع اتصالات منافذ الـ proxy الجديدة نفس القاعدة: الاتصال الذي لم يتحول إلى نفق لا يُحتسب ضمن حصتك للدقيقة.
import time
import requests
def single(url, key, tries=5):
for _ in range(tries):
r = requests.post(
"https://api.foura.ai/api/single",
headers={"X-API-Key": key},
json={"url": url},
)
if r.headers.get("X-FourA-Limit") != "plan_limit_rate":
return r
# same header on the 30-second pause; the body adds "cooldown": true
time.sleep(int(r.headers.get("Retry-After", "1")))
return r
كل حقل موجود في صفحة rate limits.
يتوقف Auto مبكرا عند التعامل مع المواقع التي ترفض الجميع
عندما يرفض موقع ما كل نقطة خروج يجربها Auto، بما في ذلك Browser، ينتهي الطلب الآن بعد بضع محاولات بدلا من استنزاف ميزانيتك بالكامل. وفي المواقع التي سبق لـ Proxy Finder خدمتها، يطلب Auto الصفحة أولا من Proxy Finder وفقا لقاعدة validate الخاصة بك، ولا يكلف هذا البحث شيئا إذا عاد دون نتائج.
تضمن تغييرتان إضافيتان بقاء Auto ضمن الحدود التي حددتها. فالطلب الذي ينتظر جلسة مشغولة، أو ينتظر طلبا آخر يعمل بالفعل على نفس الموقع، ينتهي الآن ضمن timeout_ms مع إرجاع الخطأ time budget exhausted، مما يتيح لك إعادة المحاولة أو زيادة الميزانية (تتوفر التفاصيل في المشاكل الشائعة). كما تعود صفحة JSON داخل data كنص أيا كان المسار الذي جلبها، ليتولى محلل واحد معالجة جميع الطلبات.
لا يغير أي من هذا الغرض الأساسي من Auto. فهو يحدد المسار المناسب؛ وبمجرد العثور عليه، يمكنك إعادة تشغيل session الذي يرجعه عبر /api/single أو /api/browser وتوجيه حجم طلباتك إلى هناك.
صفحات تتطلب خطوة إضافية
ينتظر Browser الآن نوعا إضافيا من صفحات الانتظار المؤقتة، وهي الصفحة القصيرة التي تشغل كودا برمجيا ثم تعيد تحميل نفسها لعرض المحتوى الحقيقي، ويعيد الصفحة التي تؤدي إليها. يمرر Auto هذه الصفحات إلى Browser عبر نفس نقطة الخروج، بحيث ينتهي الطلب بمحتوى الموقع المطلوب.
تطلب بعض صفحات منتجات Amazon أولا النقر على "Continue shopping". يقوم Single وBrowser الآن بالضغط على هذا الزر عبر نفس نقطة الخروج وإرجاع صفحة المنتج. وتحصل الطلبات عبر Proxy Finder وAuto على نفس النتيجة.
يتتبع Browser أيضا الصفحة التي تعيد توجيه نفسها إلى عنوان آخر بعد تحميلها، بدلا من الانتظار حتى انتهاء المهلة المحددة. كما تتلقى ملفات تعريف الارتباط المسماة __Secure- أو __Host- التي ترسلها الخصائص التي تتطلبها بادئتها، مما يضمن تعرف الصفحة على كامل جلستك المحفوظة.
Proxy Finder، وخطآن أكثر وضوحا
تفتح طلبات HTTP العادية عبر Proxy Finder الآن اتصالا مباشرا بالموقع أولا، تماما كما يحدث دائما مع HTTPS. ويتم تخطي أي proxy يرد بصفحة خاصة به أو يقدم نفس المحتوى لمواقع غير مرتبطة، لينتقل طلبك إلى التالي.
إذا مررت URL الخاص بـ proxy إلى Single أو Browser باسم مضيف يتعذر حله، فستكون النتيجة status 0 مع خطأ يحدد اسم المضيف، تماما كما يحدث مع أي هدف. وأي طلب موجه إلى api.foura.ai أو eu.api.foura.ai نفسه يتلقى رمز الخطأ 400 فورا، قبل جلب أي بيانات أو فرض أي تكلفة. يشير الخطأ إلى السبب المعتاد: رابط تم حله بالاستناد إلى URL الخاص بـ API بدلا من الصفحة الأصلية.
لوحة التحكم، والتسجيل، والفوترة
- تنتهي عملية التسجيل التي تبدأ على foura.ai الآن في Dashboard الخاصة بك، حيث ترشدك صفحة Overview للوصول إلى أول نتيجة: أنشئ API key، ثم أرسل request من الـ terminal أو من الـ Playground. على الهاتف تبدأ الخطوات في الـ Playground، ويحصل منفذ الـ proxy على خطوات مخصصة مبنية حول مستخدم proxy.
- على الهاتف أو في النوافذ الضيقة، يقوم الـ Playground بالتمرير التلقائي لعرض الـ response فور وصولها.
- يفرز تقرير الاستخدام حسب النطاق وحسب Client IP كل صف في الفترة المحددة قبل تقسيمها إلى صفحات، لذلك تحتوي الصفحة الأولى على أهم المدخلات الفعلية.
- تتبع بطاقات Overview الفترة الزمنية التي تختارها حتى أثناء تحميلها، وتفتح نافذة اختيار الفترة على الفترة المعروضة حاليا، كما يتضمن الشريط الجانبي رابط Docs أسفل Tools.
- تظهر الفواتير الصادرة يدويا الآن في صفحة Billing إلى جانب الفواتير التلقائية. وتعتمد الفاتورة الخاضعة لضريبة القيمة المضافة في الاتحاد الأوروبي (EU VAT) السعر الساري في يوم البيع، بما في ذلك التغييرات المعلنة مسبقا.
لكل من هذه التحديثات تدوينة مخصصة على updates.foura.ai.
خلف الكواليس
يحتفظ منفذ الـ proxy بعداد مباشر للأنفاق المفتوحة، ويتم استبعاد النفق الذي ينتهي عند إعادة تشغيل إحدى مثيلاتنا خلال ثوان. وبذلك يكون معدل التزامن المسموح به في خطتك هو معدل التزامن الفعلي الذي تحصل عليه.
أفضل تجاوز للفشل (failover) هو ذلك الذي لا تسمع عنه إلا في تقرير الملخص.