اختيار الـ endpoint المناسب

تقدم FourA أربعة endpoints للطلبات (request endpoints)، كل منها مخصص لسيناريو مختلف. اختيار الـ endpoint المناسب يوفر الوقت، ويقلل التكلفة، ويزيد معدلات النجاح.

دليل اتخاذ القرار السريع

استخدم endpoint الـ auto عندما:

  • تستهدف موقعا جديدا ولا تعرف متطلباته بعد
  • تريد استدعاء واحدا يتولى تلقائيا المحاولات المباشرة، وتدوير الـ proxy، والبدائل الاحتياطية للمتصفح
  • تريد جلسة يمكنك إعادة تشغيلها بتكلفة منخفضة في الاستدعاء التالي لنفس الـ host

استخدم endpoint الـ single عندما:

  • تكون الصفحة معالجة على الخادم (server-rendered، بدون الحاجة إلى JavaScript)
  • تحتاج إلى أقصى سرعة (عادة أقل من ثانية واحدة)
  • ترسل طلبات إلى APIs أو صفحات HTML ثابتة من host تعرف مسبقا أنه يعمل

استخدم endpoint الـ browser عندما:

  • تعتمد الصفحة على JavaScript لعرض المحتوى
  • يتم تحميل المحتوى بعد التحميل الأولي للصفحة
  • تحتاج إلى الـ DOM المعالج بالكامل

استخدم endpoint الـ proxy عندما:

  • يقوم الموقع المستهدف بحظر الـ requests بشكل نشط
  • تحتاج إلى التدوير عبر عناوين IP متعددة
  • أرجعت المحاولات السابقة رمز 403 أو صفحات تحقق

مقارنة الـ Endpoints

Auto (POST /api/auto/)

الـ endpoint الذكي لجلب البيانات (smart-fetch). تمرر URL وقاعدة validate (يُفضل ذلك)، وتتبع FourA مسارا متدرجا يراعي التكلفة: proxy مع تدوير أولا، ثم browser كامل عبر proxy. قم بتعيين forceProxy: false ليتم تشغيل فحص مباشر منخفض التكلفة ومعالجة متصفح مباشرة قبل كليهما. أول مستوى يُرجع استجابة تطابق validate الخاصة بك يفوز. في الاستدعاءات المتكررة لنفس الـ host، تتم إعادة استخدام جلسة جاهزة (warm session)، مما يجعل الاستدعاء الثاني منخفض التكلفة.

curl -X POST https://eu.api.foura.ai/api/auto/ \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/product/42",
    "validate": {"data": {"accept": ["Add to cart"]}}
  }'

وقت الاستجابة النموذجي: 200ms (في وضع warm) إلى 30s+ (حل cold على موقع صعب) الأفضل لـ: الأهداف الجديدة، والمواقع ذات الحماية المختلطة، وحالات "أريد الصفحة فقط"

للحصول على شرح تفصيلي أعمق، راجع دليل Smart Fetch.

Single (POST /api/single/)

الخيار الأسرع. يرسل HTTP request بخصائص شبكة واقعية تحاكي المتصفح، دون تشغيل عملية متصفح.

curl -X POST https://eu.api.foura.ai/api/single/ \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"method": "GET", "url": "https://example.com/api/products"}'

وقت الاستجابة النموذجي: 200ms إلى 2s الأفضل لـ: APIs، ومواقع الأخبار، والمدونات، وصفحات المنتجات الثابتة

Browser (POST /api/browser/)

يفتح عنوان URL الخاص بك في مثيل متصفح Chrome. يتم تحميل الصفحة بالكامل، ويتم تنفيذ JavaScript، وتحصل على كود HTML النهائي المعروض.

curl -X POST https://eu.api.foura.ai/api/browser/ \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/spa-app",
    "timeout_ms": 15000,
    "checkText": "data-table"
  }'

وقت الاستجابة النموذجي: من 2s إلى 10s الأفضل لـ: تطبيقات الصفحة الواحدة (SPAs)، المواقع التي تعتمد على التحميل الكسول (lazy loading)، والمحتوى المعروض عبر JavaScript

Proxy (POST /api/proxy/)

يجمع بين طلبات HTTP والتدوير التلقائي لـ proxy. إذا فشلت المحاولة الأولى أو تم حظرها، يعيد FourA المحاولة عبر proxies مختلفة.

curl -X POST https://eu.api.foura.ai/api/proxy/ \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "maxTries": 5,
    "request": {
      "method": "GET",
      "url": "https://example.com/pricing"
    }
  }'

وقت الاستجابة النموذجي: 1 ثانية إلى 5 ثوانٍ الأفضل لـ: مراقبة أسعار التجارة الإلكترونية، وتجميع بيانات السفر، والمواقع المزودة بأنظمة اكتشاف البوتات

Auto مقابل اليدوي

متى يجب أن تترك الخيار لـ auto، ومتى يجب عليك استدعاء Single أو Proxy أو Browser بنفسك؟

اختيار auto الاختيار اليدوي
لا تعرف ما يحتاجه الموقع بعد تعرف بدقة المحرك الذي يتطلبه الهدف
تريد استدعاءً واحدًا يعمل مباشرة دون تعقيد تعمل على تحسين بنية الـ request لهدف معروف
لا مانع لديك من إعادة استخدام auto لجلسة تعلمها مسبقًا تريد تحكمًا كاملاً في إعادة المحاولة، والمهلة، واختيار الـ proxy لكل استدعاء
مستعد لدفع تكلفة بضع ثوانٍ من الفحص الأولي في الاستدعاء الأول زمن الاستجابة في الاستدعاء الأول أهم من مرحلة الاستكشاف

ليس خيار auto هو الأوفر دائمًا. إذا كنت تعرف مسبقًا أن الهدف يعمل مع Single وتفعيل unblocker، فإن استدعاء Single مباشرة يتجاوز مرحلة الفحص ويكلف 2 credits. بينما يكلف auto على الهدف نفسه ما تستهلكه طبقات سلم المحاولات.

متى تدمج بين الأساليب

تستفيد بعض مسارات العمل من استخدام عدة endpoints:

  1. الاستكشاف باستخدام auto: مرر قاعدة validate ودع سلم المحاولات يحدد المستوى الذي يحتاجه الموقع.
  2. إعادة التنفيذ عبر single: خذ session.proxy وsession.cookies وsession.userAgent التي أرجعها auto، ثم استدعِ Single باستخدامها للصفحات التالية على نفس الـ host.
  3. الرجوع إلى browser: إذا بدأ single في الفشل، انتقل إلى تصيير browser.
  4. إضافة proxy: إذا رُفض طلبك (403 أو صفحة تحقق) بدون auto، قم بتضمين الـ request في الـ proxy endpoint للتدوير التلقائي.

يحافظ هذا النهج التدريجي على التكلفة المنخفضة مع إبقاء معدلات النجاح مرتفعة.

نصائح لتحسين الأداء

  • مرر سلسلة نصية فرعية لـ validate.data.accept على الأهداف المحمية. يتعرف auto على صفحات التحدي الشائعة تلقائيًا، ولكن قاعدتك فقط هي القادرة على التقاط صفحة تحقق غير معروفة له، أو صفحة تم تحميلها بدون المحتوى المطلوب.
  • استخدم single endpoint افتراضيًا للـ hosts المعروف أنها تعمل، ولا تقم بالترقية إلا عند الحاجة.
  • قم بتعيين checkText في طلبات browser بحيث ترجع الصفحة التي تم تصييرها بدون المحتوى المطلوب كفشل (checkText:<text> not found) بدلاً من نجاح. لا يجعل checkText خدمة FourA تنتظر النص لفترة أطول.
  • عيّن maxTries في طلبات proxy للتحكم في سلوك إعادة المحاولة (الافتراضي هو 5، والحد الأقصى هو 90).
  • حافظ على قيمة timeout_ms معقولة: من 10 إلى 15 ثانية لمعظم الصفحات، وأكثر من 30 ثانية لتشغيلات auto الأولية على المواقع المحمية.

الخطوات التالية

آخر تحديث: 30 سبتمبر 2026