Ninu awọn ohun elo Electron ti ode oni, fun WebContentsView kọọkan ti o sopọ mọ akọọlẹ ni igba tirẹ ti o ni orukọ. Lẹhin ti ohun elo naa ba ti ṣetan, oluranlọwọ async kan ninu ilana akọkọ le ṣeto iwo kan:

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();
});

Pese partitionName ọtọtọ fun akọọlẹ ti o ya sọtọ kọọkan ki o tọju awọn oniyipada olutẹtisi ninu closure ti iwo yẹn. Orukọ laisi persist: ṣẹda igba inu iranti. Lilo ipin kanna lẹẹkansi mọọmọ tun lo ipo igba rẹ.

So iwo naa mọ ferese ti o wa tẹlẹ ki o lọ kiri nikan lẹhin ti proxy ati olutọju rẹ ti ṣetan. Koodu naa fojusi adehun iṣẹlẹ login lọwọlọwọ, pẹlu firstAuthAttempt, o si fagile igbiyanju atunṣe ti a kọ silẹ dipo ki o tun fi akọọlẹ kanna ranṣẹ lainidii.

Olutọju naa ṣayẹwo pe ipenija wa lati ọdọ Basic HTTP proxy ti a pinnu. Wiwọle oju opo wẹẹbu ko yẹ fun awọn ẹri wọnyẹn.

Awọn ofin proxy yan opinna; login pese akọọlẹ naa. Awọn faili PAC ati awọn ofin proxy afọwọṣe kii ṣe gbe ọrọ igbaniwọle ti callback yii funrararẹ.

Eyi jẹ ijẹrisi proxy HTTP. Ko ṣafikun ijẹrisi SOCKS5 si Chromium. Awọn asopọ igba ti o wa tun nilo itọju igbesi aye deede wọn nigbati ipa-ọna ba yipada nigbamii.

Àwọn àpilẹ̀kọ tó jọra