簡體   English   中英

如何在不同的 BrowserView 對象中使用不同的用戶:通過經過身份驗證的代理?

[英]How can I use a different user:pass authenticated proxy in different BrowserView objects?

正如標題所暗示的,我正在處理一個 ElectronJS 項目,在該項目中我有多個 BrowserView 對象,並希望為每個窗口使用不同的代理。

在這里ses.setProxy()存在,這意味着我也許可以使用browserViewObj.webContents.session.setProxy()來使用特定的代理。 但是,問題仍然存在:我如何對其進行身份驗證?

我認為答案是“你不能,設計使然”。 您將 PAC 文件提供給setProxy() (或使用proxyRules ,但這僅提供相同的選項)。 為了安全起見,他們似乎特別不允許在 PAC 文件中使用用戶名/密碼。 (雖然該邏輯並不真正適用於直接使用proxyRules ,是proxyRules 。)

這個答案建議設置一個 ssh 隧道。 您可以為每個 BrowserView 對象預先創建一個隧道(一個端口),然后將 localhost 和所需的端口設置為代理。

上面第一個鏈接上選擇的答案表明https://github.com/sjitech/proxy-login-automator看起來可能是相同的想法。 它似乎是一個命令行腳本,但您應該能夠提取所需的位並在 Electron 主進程中運行它。

我現在正在做完全相同的事情,答案是,是的,你可以。 BrowserView 的 webcontents 對象有一個登錄事件,您可以使用該事件捕獲並登錄到您的代理。

參考這里

https://www.electronjs.org/docs/latest/api/web-contents#event-login

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM