Electron දර්ශනවලට වෙන වෙනම HTTP ප්රොක්සි ගිණුම් තිබිය හැක
එක් එක් WebContentsView සඳහා ගිණුමට නිශ්චිත සැසියක් සාදා එම දර්ශනයට ගැලපෙන Basic ප්රොක්සි අභියෝගයට පමණක් පිළිතුරු දෙන්න.
වර්තමාන 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 සත්යාපනය එකතු නොකරයි. පසුව මාර්ගය වෙනස් වූ විට පවතින සැසි සම්බන්ධතාවලට ද ඒවායේ සාමාන්ය ජීවන චක්ර කළමනාකරණය අවශ්ය වේ.