داخل دالة غير متزامنة في العملية الرئيسية مع نافذة موجودة، استعلم عن الجلسة التي تستخدمها النافذة فعليًا:

const selectedSession = mainWindow.webContents.session;
const route = await selectedSession.resolveProxy('https://api.example/');

تعيد واجهة API الحالية كائن Promise يُحل إلى سلسلة نصية. انتظر عملية setProxy المعلّقة قبل فحص تغيير في الإعدادات.

النتيجة قرار وكيل (proxy) خاص بعنوان URL. قد تكون القيمة الافتراضية هكذا:

PROXY proxy-a.example:8080; PROXY proxy-b.example:8080; DIRECT

هذه قائمة مرشحين مرتبة بصياغة نمط PAC، لا اسم مضيف واحد. ويمثل DIRECT صراحةً مرشحًا مباشرًا. تعامل مع النتيجة الفارغة بشكل منفصل؛ ولا تعتبر كل سلسلة فارغة أو غير معروفة DIRECT ضمنًا.

استعلم عن عنوان URL الهدف الفعلي لأن قرارات PAC والتجاوز قد تختلف حسب الوجهة. وبالمثل، قد لا تملك نافذة تستخدم جلسة مقسّمة السياسة نفسها التي تملكها session.defaultSession.

قد يتضمن حلّ الوكيل عملًا تلقائيًا في الإعدادات مثل الحصول على نص PAC. لكن الاختيار المعاد ليس طلبًا مكتملًا إلى الموقع الهدف، ولا تسجيل دخول ناجحًا إلى الوكيل، ولا دليلًا على عنوان IP العام للخروج. احتفظ بالجلسة وعنوان URL والمرشحين المحلولين عند مقارنتها بنتيجة الطلب اللاحق.

مقالات ذات صلة