I en asynkron huvudprocessfunktion med ett befintligt fönster, fråga sessionen som fönstret faktiskt använder:

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

Det nuvarande API:et returnerar ett Promise som löses till en sträng. Vänta på en pågående setProxy-åtgärd innan du undersöker en konfigurationsändring.

Resultatet är ett URL-specifikt proxybeslut. Ett hypotetiskt värde kan vara:

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

Det är en ordnad kandidatlista i PAC-stilssyntax, inte ett enda värdnamn. DIRECT representerar uttryckligen en direkt kandidat. Hantera ett tomt resultat separat; behandla inte tyst varje tom eller okänd sträng som DIRECT.

Fråga den faktiska mål-URL:en, eftersom PAC- och kringgåendebeslut kan variera beroende på destination. På samma sätt behöver inte ett fönster med en partitionerad session ha samma policy som session.defaultSession.

Proxyupplösning kan innefatta automatiskt konfigurationsarbete, till exempel att hämta ett PAC-skript. Det returnerade valet är fortfarande inte en slutförd begäran till målwebbplatsen, en lyckad proxyinloggning eller bevis på dess offentliga exit-IP. Behåll sessionen, URL:en och de upplösta kandidaterna när du jämför dem med resultatet av den efterföljande begäran.

Relaterade artiklar