Într-o funcție asincronă a procesului principal cu o fereastră existentă, interogați sesiunea pe care fereastra o folosește efectiv:

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

API-ul actual returnează un Promise care se rezolvă într-un șir. Așteptați o operațiune setProxy în așteptare înainte de a inspecta o modificare de configurație.

Rezultatul este o decizie de proxy specifică URL-ului. O valoare ipotetică ar putea fi:

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

Aceasta este o listă ordonată de candidați în sintaxă de stil PAC, nu un singur nume de gazdă. DIRECT reprezintă explicit un candidat direct. Tratați separat un rezultat gol; nu considerați în tăcere fiecare șir gol sau nerecunoscut drept DIRECT.

Interogați URL-ul țintă real, deoarece deciziile PAC și de ocolire pot varia în funcție de destinație. De asemenea, o fereastră care folosește o sesiune partiționată nu trebuie să aibă aceeași politică precum session.defaultSession.

Rezolvarea proxy poate implica muncă de configurare automată, cum ar fi obținerea unui script PAC. Alegerea returnată nu este încă o cerere finalizată către site-ul țintă, nici o autentificare proxy reușită, nici o dovadă a IP-ului său public de ieșire. Păstrați sesiunea, URL-ul și candidații rezolvați când le comparați cu rezultatul cererii următoare.

Articole similare