ھازىرقى Electron ئەپلىرىدە، ھېساباتقا باغلانغان ھەر بىر WebContentsView غا ئۆزىنىڭ ئاتلىق سېسىيەسىنى بېرىڭ. ئەپ تەييار بولغاندىن كېيىن، ئاساسىي جەرياندىكى async ياردەمچى بىر كۆرۈنۈشنى سەپلىيەلەيدۇ:

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

ھەر بىر ئايرىلغان ھېسابات ئۈچۈن ئايرىم partitionName بېرىڭ ۋە ئاڭلىغۇچى ئۆزگەرگۈچىلىرىنى شۇ كۆرۈنۈشنىڭ closure دا ساقلاڭ. persist: بولمىغان ئات يادلىقتىكى سېسىيە ھاسىل قىلىدۇ. ئوخشاش بۆلەكنى قايتا ئىشلىتىش ئۇنىڭ سېسىيە ھالىتىنى قەستەن قايتا ئىشلىتىدۇ.

كۆرۈنۈشنى مەۋجۇت كۆزنەككە چېتىڭ ۋە پەقەت پروكسى ۋە بىر تەرەپ قىلغۇچىسى تەييار بولغاندىن كېيىن يۆتكىلىڭ. كود firstAuthAttempt نى ئۆز ئىچىگە ئالغان ھازىرقى login ۋەقە كېلىشىمىنى نىشانلايدۇ ۋە رەت قىلىنغان تەكرار سىناشنى ئوخشاش ھېساباتنى چەكسىز قايتا ئەۋەتىش ئورنىغا بىكار قىلىدۇ.

بىر تەرەپ قىلغۇچى سىناقنىڭ نىشانلانغان Basic HTTP پروكسىدىن كەلگەنلىكىنى تەكشۈرىدۇ. تور بېكەتتىكى كىرىش بۇ ھۆججەتلەرگە ماس كەلمەيدۇ.

پروكسى قائىدىلىرى ئاخىرقى نۇقتىنى تاللايدۇ؛ login ھېساباتنى تەمىنلەيدۇ. PAC ھۆججەتلىرى ۋە قولدا قۇرۇلغان پروكسى قائىدىلىرى بۇ callback نىڭ پارولىنى ئۆزلىرى كۆتۈرمەيدۇ.

بۇ HTTP پروكسى دەلىللەش. ئۇ Chromium غا SOCKS5 دەلىللەشنى قوشمايدۇ. مەۋجۇت سېسىيە ئۇلىنىشلىرىمۇ كېيىن يول ئۆزگەرگەندە ئادەتتىكى ھايات دەۋرىيلىكىنى باشقۇرۇشنى تەلەپ قىلىدۇ.

مۇناسىۋەتلىك ماقالىلەر