I bhfeidhmchláir Electron reatha, tabhair a sheisiún ainmnithe féin do gach WebContentsView a bhaineann le cuntas. Nuair a bheidh an feidhmchlár réidh, is féidir le cúntóir async sa phríomhphróiseas amharc amháin a chumrú:

const routeSession = session.fromPartition(partitionName);
await routeSession.setProxy({
  mode: 'fixed_servers',
  proxyRules: `http://${proxyHost}:${proxyPort}`,
});
const view = new WebContentsView({
  webPreferences: { session: routeSession },
});
view.webContents.on('login', (event, details, authInfo, callback) => {
  if (!authInfo.isProxy
      || authInfo.scheme.toLowerCase() !== 'basic'
      || authInfo.host !== proxyHost
      || authInfo.port !== proxyPort) return;
  event.preventDefault();
  if (details.firstAuthAttempt) callback(proxyUser, proxyPassword);
  else callback();
});

Cuir partitionName ar leith ar fáil do gach cuntas leithliseach agus coinnigh athróga an éisteora i ndúnadh an amhairc sin. Cruthaíonn ainm gan persist: seisiún sa chuimhne. Athúsáideann athúsáid na críche céanna a staid seisiúin go toiliúil.

Ceangail an t-amharc leis an bhfuinneog atá ann cheana agus ná déan nascleanúint ach amháin nuair a bheidh a sheachfhreastalaí agus a láimhseálaí réidh. Díríonn an cód ar chonradh reatha na himeachta login, lena n-áirítear firstAuthAttempt, agus cealaítear iarracht athraithe a diúltaíodh in ionad an cuntas céanna a chur isteach arís gan teorainn.

Seiceálann an láimhseálaí gur ón seachfhreastalaí Basic HTTP atá beartaithe a thagann an dúshlán. Níl logáil isteach suímh ghréasáin incháilithe do na dintiúir sin.

Roghnaíonn rialacha seachfhreastalaí an críochphointe; soláthraíonn login an cuntas. Ní iompraíonn comhaid PAC ná rialacha seachfhreastalaí láimhe pasfhocal an callback seo astu féin.

Is fíordheimhniú seachfhreastalaí HTTP é seo. Ní chuireann sé fíordheimhniú SOCKS5 le Chromium. Teastaíonn a ngnáthláimhseáil saolré ó na naisc seisiúin atá ann cheana freisin nuair a athraítear bealach níos déanaí.

Ailt ghaolmhara