Playground
تتيح لك أداة Playground (الشريط الجانبي > Playground) تشغيل طلبات API مباشرة باستخدام مفتاحك الفعلي دون كتابة أي كود. إنها أسرع طريقة لتجربة موقع مستهدف جديد، أو تصحيح أخطاء استجابة معقدة، أو مقارنة Single و Proxy و Browser جنبًا إلى جنب.
افتحها عبر foura.ai/dashboard#playground.
وظيفة الأداة
نموذج واحد. ثلاثة محركات. حركة مرور حقيقية.
- Single: جلب HTTP مباشر بخصائص شبكة واقعية تشبه المتصفح
- Proxy: جلب عبر proxy مدار ومداور
- Browser: يفتح URL في مثيل متصفح Chrome للمواقع التي تعتمد على صيرورة JS
تُشغَّل الطلبات باستخدام مفتاح API الذي تختاره في أعلى الصفحة. يُحتسب الاستخدام من حصة هذا المفتاح تمامًا مثل أي استدعاء في بيئة الإنتاج، لذا لا تستهلك خطتك أثناء الاختبار.
اختيار المفتاح
تعرض القائمة المنسدلة لمفاتيح API كل مفتاح نشط ضمن نطاقك: المفاتيح الشخصية، ومفاتيح المؤسسة التي تديرها، والمفاتيح المشتركة مع الفريق التي يمكنك الوصول إليها. اختر المفتاح الذي تريد احتساب تكلفة الطلب عليه. إذا لم يكن لديك أي مفاتيح نشطة بعد، فسينقلك رابط في رسالة فورية إلى صفحة API Keys لإنشاء مفتاح.
اختيار المنتج
توجد ثلاثة أزرار تبويب فوق النموذج: Single و Proxy و Browser. يؤدي التبديل بينها إلى تغيير الحقول المرئية والمحرك الذي يصله الطلب. يتم الاحتفاظ بالاختيار الحالي عند إعادة تحميل الصفحة.
| المنتج | متى تستخدمه |
|---|---|
| Single | جلب HTTP سريع. الخيار الأول الأفضل لأي URL. |
| Proxy | الجلب نفسه مع تدوير تلقائي للـ proxy. استخدمه عندما يستمر حظر Single. |
| Browser | يحمل الصفحة في مثيل متصفح Chrome. استخدمه عندما لا تظهر البيانات إلا بعد تشغيل JavaScript. |
بناء الطلب
صف URL
يحتوي الصف العلوي على طريقة HTTP (مثل GET و POST و PUT و PATCH و DELETE و HEAD و OPTIONS)، و URL المستهدف، وزر Send. يدعم كل من Single و Proxy جميع الطرق. يتجاهل Browser الطريقة (حيث يقوم Chrome دائمًا بإرسال GET للتنقل) والجسم.
علامات تبويب الطلب
تحت صف URL، تتيح لك خمس علامات تبويب ملء كل شيء آخر:
| علامة التبويب | ما تتحكم فيه |
|---|---|
| UI | حقول النموذج لمهل الانتشار (timeouts)، وإعادة التوجيه، والأعلام (flags)، والـ proxy، والخيارات الخاصة بالمتصفح، وقواعد التحقق (validate) |
| Body | جسم الطلب الحر لطلبات POST / PUT / PATCH |
| Headers | ترويسات (headers) الطلب المخصصة كأزواج مفتاح-قيمة |
| Cookies | ملفات تعريف الارتباط (Cookies) لإرسالها مع الطلب |
| Raw | حمولة JSON الدقيقة التي سيتم إرسالها، وهي قابلة للتعديل مباشرة |
كل ما تغيره في UI / Body / Headers / Cookies ينعكس في Raw. كما يعمل تعديل Raw أيضًا، حيث يتم تحديث علامات التبويب الأخرى لتتطابق معه.
أقسام لوحة UI
تجمع علامة التبويب UI الإعدادات في أقسام قابلة للطي. تعود الحقول الفارغة إلى القيم الافتراضية لمخطط المحرك.
- Timeouts:
timeout_msوconnect_timeout_msوaccept_timeout_msوserver_response_timeout_msوdns_cache_timeout_sec - Redirects: تبديل وتعيين
followRedirects(0-20). لـ Single + Proxy فقط. يتبع Browser عمليات إعادة التوجيه تلقائيًا. - Flags:
unblockerوtryJsonDataوreturnBuffer. لـ Single + Proxy. - Proxy: اختر معرف proxy معينًا لـ Single أو Browser، أو اضبط
maxTriesومهلة Proxy الخارجية وignoreProxiesلمحرك Proxy. - Browser: خيارات خاصة بالمتصفح فقط مثل
checkStatusوcheckText. - Validate: قواعد القبول/الفشل لـ
validate.status(رموز الحالة)، وvalidate.headers(قواعد مفتاح-قيمة للترويسات)، وvalidate.data(سلاسل فرعية للقبول/الفشل في الجسم، مفصولة بـ|).
يتم إخفاء الحقول التي لا تنطبق على المنتج المحدد حاليًا.
إعادة تعيين شريط الأدوات
يؤدي زر Reset في شريط الأدوات (بجوار History) إلى مسح نموذج المنتج النشط وإعادته إلى الإعدادات الافتراضية. تبقي الإعدادات الافتراضية على تفعيل unblocker و tryJsonData، وهو ما يمثل نقطة البداية الأكثر شيوعًا. استخدمه عندما تبتعد كثيرًا عن خط الأساس الصالح وتريد البدء من جديد دون إعادة تحميل الصفحة.
الإرسال والإلغاء
انقر فوق Send لإرسال الطلب. يتحول العمود الأيمن إلى حالة التحميل مع مؤشر دوران وزر Cancel أثناء تشغيل الاستدعاء. انقر فوق Cancel (أو اضغط على الزر مرة أخرى على الهاتف المحمول) للإلغاء. يعيد الطلب الملغى العنصر النائب الخامل مع عرض عبارة "Request canceled." بدلاً من عرض خطأ.
تنتقل بطاقة الاستجابة إلى النتيجة فور اكتمال الطلب (أو فشله).
قراءة الاستجابة
يعكس عمود الاستجابة تخطيط الطلب بعلامات تبويب خاصة به:
| علامة التبويب | ما تعرضه |
|---|---|
| Body | الجسم المحلل. يتنقل بين عروض JSON و HTML و Text اعتمادًا على ما تم إرجاعه. |
| Headers | ترويسات الاستجابة، واحدة في كل سطر. |
| Cookies | ملفات تعريف الارتباط التي أرجعها الهدف، في كل من العرض المحلل (المجمع حسب المضيف) والعرض الخام (نص Set-Cookie). يعرض العرض المحلل شارة HO على ملفات تعريف الارتباط الخاصة بالمضيف فقط؛ بينما تظل ملفات تعريف ارتباط النطاق غير مميزة. |
| Raw | غلاف JSON الكامل الذي أرجعته الـ API. |
يعرض شريط البيانات الوصفية فوق علامات التبويب حالة HTTP الواردة من المصدر، والوقت الإجمالي، ومعرف الـ proxy الذي تولى الاستدعاء (لطلبات Proxy / single-with-proxy-id). توجد أزرار النسخ والتنزيل في أعلى يمين كل لوحة، مما يتيح لك سحب الجسم أو الترويسات إلى ملف بنقرة واحدة.
التوسيع إلى ملء الشاشة
يقوم رمز التوسيع في شريط أدوات الاستجابة برفع بطاقة الاستجابة خارج التخطيط المنقسم إلى تراكب بملء الشاشة. استخدمه لشجيرات JSON العميقة، أو تفريغات Set-Cookie الطويلة، أو أجسام HTML العريضة حيث يضيق العمود ذو نصف العرض. يتوقف التمرير في الصفحة نفسها أثناء فتح التراكب. انقر فوق الرمز مرة أخرى (أو اضغط على Escape) للطي.
أداة إعادة إنتاج curl
أسفل الاستجابة، تعرض كتلة curl ما يعادل سطر الأوامر الدقيق للطلب الذي قمت ببنائه للتو. انسخه لإعادة إنتاج الطلب من الطرفية، أو مشاركته مع زميل في الفريق، أو لصقه في تقرير الأخطاء.
بالنسبة للمفاتيح القابلة للكشف، يضع زر Reveal key بجوار القصاصة المفتاح الحقيقي بنصه الصريح مباشرة في أمر curl لتتمكن من النسخ والتشغيل كما هو. انقر مرة أخرى لإخفائه. تحتفظ المفاتيح القديمة (التي تم إنشاؤها قبل إطلاق ميزة الكشف) بعنصر نائب PASTE_PLAINTEXT_FOR_<key-name>؛ أعد إنشاء المفتاح من صفحة API Keys لجعله قابلاً للكشف.
يتم تسجيل عملية الكشف في سجل التدقيق على الخادم في كل مرة، ولا يعيش المفتاح الصريح إلا في الذاكرة لجلسة الصفحة الحالية فقط.
حفظ الإعدادات المسبقة
إذا وجدت نفسك تعيد تكوين الهدف نفسه بشكل متكرر، فاحفظه. انقر فوق Save في صف علامات تبويب الطلب لتخزين التكوين الحالي كإعداد مسبق مسمى.
افتح Saved في شريط الأدوات لتصفح إعداداتك المسبقة أو إعادة تسميتها أو حذفها. انقر فوق أي إعداد مسبق لإعادة تحميله في النموذج.
| حقل الإعداد المسبق | ما يخزنه |
|---|---|
| Name | تسمية قصيرة (حتى 100 حرف) |
| Description | ملاحظات اختيارية (حتى 500 حرف) |
| Endpoint | المنتج المخصص له الإعداد المسبق (single / proxy / browser) |
| Config | حمولة الطلب الكاملة، بما في ذلك حقول UI والترويسات وملفات تعريف الارتباط والجسم |
تقتصر الإعدادات المسبقة على حساب المستخدم الخاص بك ولا تتم مشاركتها مع أعضاء الفريق.
إعادة التشغيل من السجل
يتم تسجيل كل طلب تقوم بتشغيله. افتح History في شريط الأدوات لرؤية آخر 20 عملية تشغيل، مرتبة من الأحدث إلى الأقدم.
يعرض كل سطر الـ endpoint، و URL المستهدف، والحالة، والوقت. انقر فوق Replay في أي سطر لإعادة تحميل هذا الطلب في النموذج، ثم انقر فوق Send لتشغيله مرة أخرى.
يقتصر السجل تلقائيًا على حسابك: لا ترى سوى عمليات التشغيل الخاصة بك.
الفتح من النشاط
يحتوي مربع حوار تفاصيل Activity Log على زر Open in Playground. انقر فوقه وسيتم تحميل Playground مع كل من الطلب المؤرشف والاستجابة المؤرشفة. يمتلئ النموذج من الحمولة المخزنة، وتعرض بطاقة الاستجابة ما أرجعته الـ API في تلك اللحظة مع شارة "archived" على شريط البيانات الوصفية للـ proxy ("archived
من هناك يمكنك تغيير معلمة والضغط على Send لتشغيل طلب جديد مقابل الـ API المباشرة، أو مجرد فحص الحمولة المؤرشفة دون إعادة تشغيلها. يتم الاحتفاظ بالحمولة لمدة 24 ساعة، لذا لن تحتوي سطور النشاط الأقدم على استجابة قابلة لإعادة التحميل.
نصائح
- ابدأ في Playground قبل كتابة كود مقابل هدف جديد. ستعرف في غضون ثوانٍ ما إذا كان Single كافيًا أم أنك بحاجة إلى Browser.
- احفظ إعدادًا مسبقًا لكل هدف تقوم بكشطه بانتظام. تستغرق إعادة تشغيل إعداد مسبق محفوظ نقرة واحدة؛ بينما يستغرق إعادة بناء الطلب من الذاكرة وقتًا أطول.
- استخدم علامة التبويب Cookies لتصحيح أخطاء الكشط القائم على الجلسة. يعرض عرض Set-Cookie الخام ما أرسله الهدف بالضبط.
- تُحتسب طلبات Playground من المفتاح الذي تختاره. استخدم مفتاحًا مخصصًا بحصة منخفضة للاستكشاف العابر إذا كنت تريد الحفاظ على نظافة استخدام بيئة الإنتاج.
موضوعات ذات صلة
- API Endpoints: مرجع المعلمات الكامل لجميع المنتجات الثلاثة
- Choosing the Right Endpoint: متى تختار Single مقابل Proxy مقابل Browser
- API Keys: إدارة المفاتيح التي تستخدمها للمصادقة على طلبات Playground
- Activity Log: افتح طلبًا سابقًا مباشرة في Playground
- Dashboard Overview: جميع أقسام الشريط الجانبي