正如标题所示,我正在开发一个ElectronJS项目,其中有多个BrowserView对象,并且希望为每个窗口使用不同的代理。
我读到here,发现ses.setProxy()
存在,这意味着我也许可以使用browserViewObj.webContents.session.setProxy()
来使用特定的代理。但是,问题仍然存在:如何进行身份验证?
答案 0 :(得分:1)
我认为答案是“设计使然”。您将PAC文件提供给setProxy()
(或使用proxyRules
,但这仅提供相同的选项)。 It seems表示他们明确不允许PAC文件中的用户名/密码来确保安全。 (尽管该逻辑并不真正适用于直接使用proxyRules
,但确实可以。)
This answer建议设置ssh隧道。您可以为每个BrowserView对象预先创建一个隧道(一个端口),然后将localhost和所需的端口设置为代理。
上面第一个链接上选择的答案表明https://github.com/sjitech/proxy-login-automator看起来可能具有相同的想法。这似乎是一个命令行脚本,但是您应该能够提取出所需的位,并在Electron主进程中运行它。