Што вяртае 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 і вырашаныя кандыдаты пры параўнанні іх з вынікам наступнага запыту.