Electron မြင်ကွင်းများတွင် သီးခြား HTTP ပရောက်စီ အကောင့်များ ရှိနိုင်သည်
WebContentsView တစ်ခုစီအတွက် အကောင့်သီးသန့် session တစ်ခု ဖန်တီးပြီး ထိုမြင်ကွင်း၏ ကိုက်ညီသော Basic ပရောက်စီ စိန်ခေါ်မှုကိုသာ ဖြေပါ။
လက်ရှိ Electron အက်ပ်များတွင် အကောင့်နှင့် ချိတ်ဆက်ထားသော WebContentsView တစ်ခုစီကို ၎င်း၏ ကိုယ်ပိုင် အမည်ရှိ session ပေးပါ။ အက်ပ် အသင့်ဖြစ်ပြီးနောက် ပင်မလုပ်ငန်းစဉ်ရှိ 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: မပါသော အမည်သည် မမ်မိုရီအတွင်း session ဖန်တီးသည်။ တူညီသော အပိုင်းကို ပြန်သုံးခြင်းသည် ၎င်း၏ session အခြေအနေကို တမင်ပြန်သုံးသည်။
မြင်ကွင်းကို ရှိပြီးသား ဝင်းဒိုးတွင် ချိတ်ဆက်ပြီး ၎င်း၏ ပရောက်စီနှင့် ကိုင်တွယ်သူ အသင့်ဖြစ်မှသာ လမ်းညွှန်ပါ။ ကုဒ်သည် firstAuthAttempt အပါအဝင် လက်ရှိ login ဖြစ်ရပ် စာချုပ်ကို ရည်ရွယ်ပြီး ငြင်းပယ်ခံရသော ထပ်ခါထပ်ခါ ကြိုးပမ်းမှုကို တူညီသောအကောင့်ကို အဆုံးမဲ့ ပြန်မပို့ဘဲ ပယ်ဖျက်သည်။
ကိုင်တွယ်သူက စိန်ခေါ်မှုသည် ရည်ရွယ်ထားသော Basic HTTP ပရောက်စီမှ ဖြစ်ကြောင်း စစ်ဆေးသည်။ ဝက်ဘ်ဆိုက် လော့ဂ်အင်သည် ထိုအထောက်အထားများအတွက် အရည်အချင်းမရှိပါ။
ပရောက်စီ စည်းမျဉ်းများက endpoint ကို ရွေးသည်; login က အကောင့်ကို ပေးသည်။ PAC ဖိုင်များနှင့် ကိုယ်တိုင် သတ်မှတ်သော ပရောက်စီ စည်းမျဉ်းများသည် ဤ callback ၏ စကားဝှက်ကို ၎င်းတို့ဘာသာ မကိုင်ဆောင်ပါ။
ဤသည် HTTP ပရောက်စီ အထောက်အထား စစ်ဆေးခြင်း ဖြစ်သည်။ ၎င်းသည် Chromium သို့ SOCKS5 အထောက်အထား စစ်ဆေးခြင်းကို မထည့်ပါ။ လက်ရှိ session ချိတ်ဆက်မှုများလည်း နောက်ပိုင်း လမ်းကြောင်း ပြောင်းသောအခါ ၎င်းတို့၏ ပုံမှန် သက်တမ်းစက်ဝန်း စီမံခန့်ခွဲမှု လိုအပ်သည်။