محاكي رموز حالة API

بمساعدة الخادم اختبار واجهات API

استخدم https://www.mutqansoft.sa/api/v1/simulate/<code> من تطبيقك أو اختباراتك لمحاكاة استجابات 4xx/5xx والاستجابات البطيئة والأجسام المخصّصة دون تغيير الخادم الخلفي لديك.

الخصوصية: ترسل هذه الأداة الطلب عبر خادم متقن للوصول إلى الهدف. يُنقل فقط العنوان والترويسات والمحتوى الذي تدخله، ولا يُحفظ أي شيء.
جارٍ تحميل الأداة…

ما هي رموز حالة HTTP؟

رمز حالة HTTP هو الرقم المكوّن من ثلاث خانات الذي يعيده الخادم مع كل استجابة ليبيّن كيف جرى الطلب: 2xx نجاح، و3xx إعادة توجيه، و4xx مشكلة من جهة العميل (400 طلب غير صالح، و401 غير موثّق، و403 محظور، و404 غير موجود، و429 طلبات كثيرة جداً)، و5xx عطل من جهة الخادم. المعاني معرّفة في RFC 9110 وRFC 6585، والواجهة التي تستخدمها بدقة أسهل بكثير في الاختبار والمراقبة.

اقرأ الدليل: شرح رموز حالة HTTP

كيفية استخدام محاكي رموز حالة API

  1. أدخل رمز الحالة وتأخيراً اختيارياً وجسم JSON اختيارياً.
  2. اضغط «إنشاء عنوان URL» للحصول على نقطة النهاية وأمر cURL والمقتطفات.
  3. وجّه إعدادات تطبيقك أو المحاكاة (mock) أو اختبارك إلى عنوان URL.
  4. اضغط «جرّبه» لإرسال طلب من الصفحة والتأكد من الحالة والترويسات والجسم.

مزايا محاكي رموز حالة API

  • نقطة نهاية عامة تعيد أي حالة HTTP نهائية من 200 إلى 599 لكود العميل والاختبارات لديك
  • تأخير اختياري (حتى 10 ث) لمحاكاة الخدمات البطيئة أو التي تنتهي مهلتها
  • جسم JSON مخصّص عبر المعامل body؛ وجسم افتراضي مناسب في غير ذلك
  • دعم CORS مفعّل، وقبول أي طريقة؛ وتتضمن رموز 3xx — عدا 304 Not Modified — ترويسة Location
  • أمر cURL ومقتطفات كود مع إجراء «جرّبه» يعرض الاستجابة الحيّة

مثال على محاكي رموز حالة API

محاكاة تحديد المعدّل

الإدخال:

Code 429 · Delay 1500 ms · Body { "error": "rate_limited", "retryAfter": 30 }

النتيجة:

https://www.mutqansoft.sa/api/v1/simulate/429?delay=1500&body=%7B%22error%22…
curl -i --max-time 7 'https://www.mutqansoft.sa/api/v1/simulate/429?…'
Live result: 429 Too Many Requests · 1.52 s · application/json

الأسئلة الشائعة حول محاكي رموز حالة API

كيف أستخدم نقطة النهاية؟

استدعِ https://www.mutqansoft.sa/api/v1/simulate/<code> بأي طريقة HTTP. أضف ?delay=<ms> لإبطاء الاستجابة (حتى 10 ثوانٍ؛ وتُقلَّص أي قيمة أكبر إلى 10000 ملّي ثانية) و?body=<json> للتحكم في الجسم.

هل تدعم CORS؟

نعم — ترسل نقطة النهاية ترويسات CORS متساهلة حتى تتمكن تطبيقات المتصفح واختبارات الواجهة الأمامية من استدعائها مباشرةً.

هل توجد حدود للمعدّل؟

نعم، لكل عنوان IP، للحفاظ على توافر الخدمة للجميع. استخدم محاكاة محلية لاختبارات التحميل عالية الحجم.

هل يمكنني الحصول على حالة إعادة توجيه؟

نعم: تعيد رموز 3xx — عدا 304 Not Modified — ترويسة Location تشير إلى المحاكي نفسه حتى يتمكن العملاء من اختبار معالجة إعادة التوجيه.

ملاحظات تقنية

يقدَّم المحاكي عبر Worker المنصة؛ فيعيد الحالة المطلوبة، ويلتزم بالتأخير ضمن حدّ المنصة، ويطبّق تحديد المعدّل لكل عنوان IP. أما رموز الحالة التي لا تحمل جسماً (204 و304) فتتجاهل الجسم المخصّص. ورموز 1xx استجابات مؤقتة تسبق دائماً استجابة نهائية (RFC 9110)، لذا لا يمكن إعادتها بوصفها الاستجابة ولا تتيحها الأداة.

المراجع

  • RFC 9110: HTTP SemanticsIETF · 2022معاني أساليب HTTP وحقول الترويسات ورموز الحالة والتفاوض على المحتوى، بغضّ النظر عن إصدار البروتوكول.
  • RFC 6585: Additional HTTP Status CodesIETF · 2012يعرّف الرموز 428 و429 (طلبات كثيرة جداً) و431 و511، بما فيها ترويسة Retry-After لتحديد المعدل.
  • HTTP response status codes — MDNMDN Web Docs (Mozilla)كل رمز حالة مع معناه واستخدامه المعتاد، من 100 إلى 511.