Co zwraca resolveProxy w Electronie
Poczekaj na decyzję właściwą dla adresu URL z rzeczywistej sesji okna i odróżnij zwrócony ciąg w stylu PAC od ukończonego połączenia.
W asynchronicznej funkcji procesu głównego z istniejącym oknem odpytaj sesję, której to okno faktycznie używa:
const selectedSession = mainWindow.webContents.session;
const route = await selectedSession.resolveProxy('https://api.example/');
Bieżące API zwraca Promise, który rozwiązuje się do ciągu. Przed sprawdzeniem zmiany konfiguracji poczekaj na oczekującą operację setProxy.
Wynikiem jest decyzja proxy właściwa dla adresu URL. Hipotetyczna wartość może wyglądać tak:
PROXY proxy-a.example:8080; PROXY proxy-b.example:8080; DIRECT
To uporządkowana lista kandydatów w składni w stylu PAC, a nie jedna nazwa hosta. DIRECT wyraźnie oznacza bezpośredniego kandydata. Obsłuż pusty wynik osobno; nie traktuj po cichu każdego pustego lub nierozpoznanego ciągu jako DIRECT.
Odpytaj rzeczywisty docelowy URL, ponieważ decyzje PAC i obejścia mogą się różnić w zależności od miejsca docelowego. Podobnie okno korzystające z sesji partycjonowanej nie musi mieć tej samej polityki co session.defaultSession.
Rozwiązywanie proxy może obejmować automatyczną konfigurację, na przykład pobranie skryptu PAC. Zwrócony wybór nadal nie jest ukończonym żądaniem do docelowej witryny, udanym logowaniem do proxy ani dowodem jej publicznego adresu IP wyjścia. Zachowaj sesję, URL i rozwiązanych kandydatów, porównując je z wynikiem kolejnego żądania.