مصادقة الوكيل في Chrome CDP: التعامل مع مساري حدث Fetch
فعّل طلبات المصادقة قبل التنقل، وأكمل الطلبات العادية المعلّقة، وأجب فقط على تحدّي Proxy المقصود بسياسة محاولات محدودة.
في جلسة CDP المعنية، سجّل المعالجات قبل التنقل، ثم استدعِ Fetch.enable بهذه المعاملات:
{"handleAuthRequests": true}| الحدث | مسار الاستجابة المطلوب |
|---|---|
| Fetch.requestPaused | continueRequest مع requestId نفسه عندما يجب أن يستمر العمل العادي |
| Fetch.authRequired | افحص authChallenge ثم استخدم continueWithAuth مع requestId الخاص بحدث المصادقة |
بالنسبة للوسيط المعروف، تكون معاملات المصادقة:
{
"requestId": "REQUEST_ID_FROM_AUTH_EVENT",
"authChallengeResponse": {
"response": "ProvideCredentials",
"username": "PROXY_USERNAME",
"password": "PROXY_PASSWORD"
}
}تحقّق من أن authChallenge.source هو Proxy وأن أصله هو المتحدّي المقصود قبل تحميل الحساب من مصدر بيانات الاعتماد. تحدّي Server يتبع سياسة مصادقة أخرى.
تتبّع المحاولات المسموح بها لكل طلب معترض؛ التحدّي المرفوض المتكرر يجب أن يتلقى CancelAuth، لا إرسالًا لا نهائيًا آخر. امسح التتبّع عند الاكتمال أو إغلاق الجلسة.
إذا علقت الصفحة، افحص أيضًا أحداث requestPaused غير المحلولة. معالجة المصادقة لا تكملها تلقائيًا، ولا يختار أي من مساري الحدث مسار الوكيل في المتصفح.