تخطَّ إلى المحتوى

التركيب وإعادة الإرسال (Composer)

الالتقاط ليس فقط “النظر”. يجمع مُركِّب الطلبات (Composer) في Trace Eagle بين “الطلب الملتقط فعلياً” و“البناء والتصحيح اليدوي” في مكان واحد: يمكن إعادة إرسال أي طلب ملتقط كما هو، أو بعد تعديل المعاملات؛ ويمكنك أيضاً بناء طلب من الصفر وإرساله. لا مزيد من التنقل بين أداة التقاط وأداة منفصلة لتصحيح واجهات برمجة التطبيقات.


  • إعادة الإرسال / التعديل وإعادة الإرسال: انقر بزر الفأرة الأيمن في قائمة حركة البيانات، أو انقر “تعديل وإعادة إرسال” في لوحة التفاصيل، لتحميل هذا الطلب الملتقط إلى المُركِّب كما هو. يُستعاد العنوان من البروتوكول / المضيف / المنفذ وقت الالتقاط، وتُزال ترويسات الاتصال غير ذات الصلة، ويُكتشف الجسم ونوعه من المحتوى، كل ذلك تلقائياً. عدّل بضعة معاملات ثم أعد الإرسال.
  • البناء من الصفر: جمّع طلباً جديداً يدوياً مباشرة في المُركِّب.

تستخدم نقطتا الدخول قناة الإرسال نفسها، وتُسجَّل النتائج في علامة تبويب جلسة مُركِّب منفصلة (تحتفظ بالسجل الكامل)، حيث يمكن، مثل الطلب الملتقط، عرضها وإعادة تحريرها ومقارنتها.


  • سطر الطلب: الطريقة (GET / POST / PUT / DELETE / PATCH / HEAD / OPTIONS) + الرابط.
  • جدول المعاملات: تُدار معاملات الاستعلام صفاً بصف في جدول، منفصلة عن الرابط ولا تُجمَّع إلا عند الإرسال، وهذا يعني أن العناصر النائبة الديناميكية بداخلها لا تتعطل بترميز مبكر.
  • جدول الترويسات: أضف أو أزل أو عدّل أي صف ترويسة.
  • مساعد المصادقة: بلا / Bearer Token / Basic (اسم المستخدم + كلمة المرور، بترميز base64 تلقائياً)؛ لا يُفعَّل إلا عندما لم تكتب ترويسة Authorization بنفسك.
  • الجسم: بلا / JSON / نموذج (form-urlencoded) / نص خام؛ يؤدي اختيار JSON أو نموذج إلى إضافة Content-Type المطابقة تلقائياً.

3. القيم الديناميكية: التعامل مع واجهات برمجة التطبيقات الخاصة الموقّعة / المشفّرة

Section titled “3. القيم الديناميكية: التعامل مع واجهات برمجة التطبيقات الخاصة الموقّعة / المشفّرة”

يمكن لأي حقل أن يحتوي على قيم ديناميكية ${...} يقيّمها المحرك قبل الإرسال. هذا منقذ حقيقي لتصحيح واجهات برمجة التطبيقات الخاصة التي تحمل توقيعاً / طابعاً زمنياً / nonce:

القيمة الديناميكية الغرض
${uuid} / ${randomUUID} UUID عشوائي
${timestamp} طابع زمني Unix بالثواني
${timestampMs} / ${now} طابع زمني Unix بالميلي ثانية
${random} قيمة عشوائية سداسية عشرية من 16 رقماً
${randomInt:min,max} عدد صحيح عشوائي ضمن نطاق
${base64:} / ${base64url:} / ${base64decode:} ترميز / فك ترميز Base64
${md5:} / ${sha1:} / ${sha256:} دالة تجزئة (hash)
${hmacSha256:key,msg} / ${hmacSha256Base64:key,msg} / ${hmacSha1:key,msg} توقيع HMAC
${urlEncode:} / ${upper:} / ${lower:} ترميز الرابط / تحويل حالة الأحرف
  • يدعم التداخل: مثلاً ${hmacSha256:${secret},${body}}، حيث يُحلّ المتغير أولاً ثم يُحسب التوقيع.
  • كل ما لا يمكن حله يُترك كما هو، فتستطيع أن ترى بلمحة أي متغير لم يُقيَّم، بينما تُخطئ الأدوات العادية غالباً أو ترسل قيمة فارغة عندما تصادف متغيراً غير معرّف.

المُركِّب: الطريقة + الرابط، مع أقسام المعاملات / الترويسات / المصادقة / الجسم؛ يمكن أن تحتوي الحقول على قيم ديناميكية ${...} (مثلاً حساب توقيع فوري بـ ${hmacSha256:...})، إلى جانب المجموعات والبيئات


  • متغيرات البيئة: استخرج ${name} إلى متغيرات بيئة، وتنقّل بين بيئات متعددة (مثل “التطوير / الاختبار / الإنتاج”) بنقرة واحدة؛ ويمكن للمتغيرات أن تشير إلى بعضها البعض وتتمدد في سلسلة.
  • المجموعات: جمّع الطلبات المستخدمة كثيراً ضمن مجلدات مسمّاة، واحفظ الطلب الحالي في أي وقت، وأعِد تحميله لإعادة الاستخدام كلما شئت.
  • حفظ تلقائي لمساحة العمل: تُحفظ المجموعات + البيئات تلقائياً في ملف نصي عادي قابل للتحكم بالإصدارات، يمكن مقارنته ومراجعته، ما يسهّل المشاركة ضمن الفريق وتتبّع التاريخ.

5. الاستيراد وتوليد الكود

Section titled “5. الاستيراد وتوليد الكود”
  • استيراد cURL: الصق أمر cURL لتحليله إلى طلب قابل للتعديل (يدعم المعاملات الشائعة مثل -X / -H / -d / --data-* / -u / -b / -A / -e، بما في ذلك معالجة علامات الاقتباس، ويُعامل تلقائياً كـ POST عند وجود جسم).
  • استيراد ملف مجموعة: استورد ملفات مجموعات واجهات برمجة تطبيقات خارجية (التركيز على الجسم الخام؛ وتُسطَّح المجموعات إلى مجموعة واحدة).
  • توليد الكود: صدّر الطلب الحالي إلى مقتطف كود cURL / Python / JavaScript(fetch) / Go / OkHttp بنقرة واحدة، مفيد لكتابة سكربتات أو إدراجه في مشروع أو مشاركته مع زميل.

6. الإرسال الأمين: إبقاء إعادة الإنتاج قريبة من المسار الحقيقي

Section titled “6. الإرسال الأمين: إبقاء إعادة الإنتاج قريبة من المسار الحقيقي”

تكمن قيمة إعادة الإرسال في “مطابقة الطلب المُعاد إنتاجه للبيئة الحقيقية”. في إعدادات المُركِّب، يمكن للإرسال الحفاظ على نفس خصائص الشبكة الخاصة بجلسة الالتقاط، ما يجعل النتائج أكثر موثوقية:

  • بروكسي أعلى: أرسل عبر بروكسي أعلى (http / socks5)، لتوجيه الطلب المُعاد إرساله إلى بروكسي الشركة أو محطة وسيطة أو بروكسي ثانوي آخر.
  • أمانة خصائص الطلب (browser profile): أعِد خصائص شبكة الطلب المُعاد إرساله إلى ما يماثل عميلاً قياسياً (مثل متصفح شائع)، مع إبقاء الطلب المُعاد إنتاجه متسقاً مع المسار الحقيقي.
  • DNS مخصّص: حدّد أي DNS يحلّ النطاق، لتجنّب التسميم أو لاتخاذ مسار محدّد.

قبل الإرسال، تُقيَّم كل قيم ${...} الديناميكية محلياً أولاً، لذا يمكنك دائماً أن ترى بالضبط ما سيُرسل فعلاً. يمر كل إرسال عبر جلسة مُركِّب منفصلة، معزولة عن جلسة الالتقاط؛ وتُعرض النتائج مع رمز الحالة والبروتوكول والوقت المستغرق مباشرة، وتُسجَّل كتدفق (Flow) في الجلسة، بحيث يمكن، مثل الطلب الملتقط، عرضها وإعادة تحريرها ومقارنتها.


7. الاقتران مع مقارنة الطلبات (Diff)

Section titled “7. الاقتران مع مقارنة الطلبات (Diff)”

يمكن مقارنة طلب مُركَّب / مُعاد إرساله سطراً بسطر، جنباً إلى جنب مع طلب ملتقط فعلياً من السجل، لتحديد بسرعة “ما الذي يختلف بالضبط بين هذه المرة والمرة السابقة لنفس نقطة النهاية”، وهو أمر فعّال بشكل خاص لتشخيص الفروق في التوقيع والمعاملات والاستجابة. راجع مقارنة الطلبات.


العودة إلى التقاط عبر البروكسي · ذو صلة: قواعد إعادة الكتابة ونقاط التوقف · مقارنة الطلبات