Wat resolveProxy van Electron teruggeeft
Wacht op de URL-specifieke beslissing uit de werkelijke sessie van het venster en onderscheid de teruggegeven tekenreeks in PAC-stijl van een voltooide verbinding.
Vraag in een asynchrone functie van het hoofdproces met een bestaand venster de sessie op die dat venster daadwerkelijk gebruikt:
const selectedSession = mainWindow.webContents.session;
const route = await selectedSession.resolveProxy('https://api.example/');
De huidige API retourneert een Promise die naar een tekenreeks wordt omgezet. Wacht op een lopende setProxy-bewerking voordat je een configuratiewijziging onderzoekt.
Het resultaat is een URL-specifieke proxybeslissing. Een hypothetische waarde kan zijn:
PROXY proxy-a.example:8080; PROXY proxy-b.example:8080; DIRECT
Dat is een geordende kandidatenlijst in PAC-stijlsyntaxis, niet één hostnaam. DIRECT staat expliciet voor een directe kandidaat. Behandel een leeg resultaat apart; behandel niet stilzwijgend elke lege of onbekende tekenreeks als DIRECT.
Vraag de werkelijke doel-URL op, omdat PAC- en bypassbeslissingen per bestemming kunnen verschillen. Evenzo hoeft een venster met een gepartitioneerde sessie niet hetzelfde beleid te hebben als session.defaultSession.
Proxyresolutie kan automatisch configuratiewerk omvatten, zoals het ophalen van een PAC-script. De teruggegeven keuze is nog steeds geen voltooide aanvraag naar de doelwebsite, geen geslaagde proxylogin en geen bewijs van het openbare exit-IP. Bewaar de sessie, de URL en de opgeloste kandidaten wanneer je ze vergelijkt met de uitkomst van de volgende aanvraag.