当我在系统中设置代理设置时,我的Electron应用程序会自动将其用于常见请求(axios程序包),而不是用于websockets(socket.io-client程序包)。如果我手动提供代理设置,那么websockets也将开始工作,但是我想尝试避免手动配置,因为这对于实际应用程序的用户可能比较棘手。因此,我正在寻找通过 Electron 方式获取代理设置并将其传输到网络套接字的任何方法。
我已经尝试在主进程和渲染器进程中为我的browserWindow使用登录事件,但是它根本不会触发。有没有办法获得 Electron 使用的代理设置?
最佳答案
我找到了解决方案。可以在主要流程中进行代理设置。
mainWindow = new BrowserWindow({})
const ses = mainWindow.webContents.session;
ses.resolveProxy('url_you_need_to_achieve', (proxy) => {
// do whatever you want with proxy string, that contains proxy-setting
});
关于proxy - 从 Electron 获取代理设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47452645/