resolveProxy در Electron چه چیزی برمیگرداند
منتظر تصمیم مخصوص URL از نشست واقعی پنجره بمان و رشته بازگشتی به سبک PAC را از یک اتصال کاملشده متمایز کن.
در یک تابع ناهمگام در فرایند اصلی با یک پنجره موجود، نشستی را که آن پنجره واقعاً استفاده میکند جویا شو:
const selectedSession = mainWindow.webContents.session;
const route = await selectedSession.resolveProxy('https://api.example/');
API فعلی یک Promise برمیگرداند که به یک رشته تبدیل میشود. پیش از بررسی یک تغییر پیکربندی، منتظر یک عملیات setProxy در حال انتظار بمان.
نتیجه یک تصمیم پروکسی مخصوص URL است. یک مقدار فرضی میتواند این باشد:
PROXY proxy-a.example:8080; PROXY proxy-b.example:8080; DIRECT
این یک فهرست مرتب نامزدها با نحو به سبک PAC است، نه یک نام میزبان. DIRECT بهصراحت نماینده یک نامزد مستقیم است. نتیجه خالی را جداگانه مدیریت کن؛ هر رشته خالی یا ناشناخته را بیصدا DIRECT فرض نکن.
URL هدف واقعی را جویا شو، چون تصمیمهای PAC و عبور ممکن است بر اساس مقصد متفاوت باشند. به همین ترتیب، پنجرهای که از نشست تفکیکشده استفاده میکند لزوماً همان سیاست session.defaultSession را ندارد.
حل پروکسی ممکن است شامل کار پیکربندی خودکار مانند گرفتن یک اسکریپت PAC باشد. انتخاب بازگشتی هنوز درخواست کاملشده به وبسایت هدف، ورود موفق به پروکسی یا اثبات IP خروجی عمومی آن نیست. هنگام مقایسه با نتیجه درخواست بعدی، نشست، URL و نامزدهای حلشده را نگه دار.