ለአሁኑ የ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: የሌለው ስም በማህደረ ትውስታ ውስጥ የሚኖር ስብሰባ ይፈጥራል። ተመሳሳዩን partition እንደገና መጠቀም ሆን ብሎ የስብሰባ ሁኔታውን እንደገና ይጠቀማል።

እይታውን ነባሩ መስኮት ላይ ያያይዙ እና ፕሮክሲውና አስተናጋጁ ከተዘጋጁ በኋላ ብቻ ይጓዙ። ኮዱ የአሁኑን login ክስተት ውል ይከተላል፣ firstAuthAttemptን ጨምሮ፣ እና የተቀበለውን ተደጋጋሚ ሙከራ ያለገደብ እንደገና ከመላክ ይልቅ ይሰርዛል።

አስተናጋጁ ፈተናው ከታሰበው Basic HTTP ፕሮክሲ መሆኑን ያረጋግጣል። የድረ-ገጽ መግቢያ ለእነዚህ ምስክርነቶች ብቁ አይደለም።

የፕሮክሲ ደንቦች መጨረሻውን ይመርጣሉ፤ login መለያውን ያቀርባል። የPAC ፋይሎች እና በእጅ የሚደረጉ የፕሮክሲ ደንቦች የዚህን callback የይለፍ ቃል ራሳቸው አይይዙም።

ይህ የHTTP ፕሮክሲ ማረጋገጫ ነው። ለChromium የSOCKS5 ማረጋገጫ አይጨምርም። ነባር የስብሰባ ግንኙነቶች በኋላ መንገድ ሲቀየር የተለመደውን የሕይወት ዑደት አያያዝ ይፈልጋሉ።

ተዛማጅ ጽሑፎች