Javascript 如何在不同的BrowserView对象中使用不同的user:pass身份验证代理?

Javascript 如何在不同的BrowserView对象中使用不同的user:pass身份验证代理?,javascript,electron,Javascript,Electron,正如标题所示,我正在从事一个ElectronJS项目,其中我有多个BrowserView对象,并希望为每个窗口使用不同的代理 我读到存在ses.setProxy(),这意味着我可能可以使用browserviewbj.webContents.session.setProxy()来使用特定的代理。然而,问题仍然存在:我如何认证它?我认为答案是“你不能,出于设计”。您将PAC文件提供给setProxy()(或者使用proxyRules,但它只提供相同的选项)。为了安全起见,他们特别不允许在PAC文件中

正如标题所示,我正在从事一个ElectronJS项目,其中我有多个BrowserView对象,并希望为每个窗口使用不同的代理

我读到存在
ses.setProxy()
,这意味着我可能可以使用
browserviewbj.webContents.session.setProxy()
来使用特定的代理。然而,问题仍然存在:我如何认证它?

我认为答案是“你不能,出于设计”。您将PAC文件提供给
setProxy()
(或者使用
proxyRules
,但它只提供相同的选项)。为了安全起见,他们特别不允许在PAC文件中使用用户名/密码。(尽管这种逻辑并不真正适用于直接使用
proxyRules
,但确实如此。)

建议设置ssh隧道。您可以为每个BrowserView对象预先创建一个隧道(一个端口),然后将localhost和所需端口设置为代理


上面第一个链接上选择的答案表明,哪个看起来可能是相同的想法。这似乎是一个命令行脚本,但您应该能够提取所需的位并在Electron主进程中运行它。

感谢您的响应!但是,(如果我错了,请纠正我)我相信这些解决方案需要符合SOCKS协议的代理。不幸的是,我使用的代理只符合HTTP/HTTPS协议。我的情况有什么解决办法吗?我目前的解决方案是使用木偶戏,打开一些镀铬窗口。然而,在我的工具栏上有15个以上的镀铬窗口看起来不是很好(另外,我希望能够在一个BrowserWindow对象中显示每个屏幕的预览)。@介电常数你试过
http://username:password@example.com/
指定URL的样式?这可能有用,值得一试。