当我在系统中设置代理设置时,我的Electron应用程序自动获取常见请求(axios包),但不支持websockets(socket.io-client包)。如果我手动提供代理设置,那么websockets也开始工作,但我想尝试避免手动配置,因为它可能对真正的应用程序的用户来说很棘手。因此,我正在寻找从电子获取代理设置并将其传输到websockets的任何方式。
我曾尝试在main和renderer进程中为我的browserWindow使用登录事件,但它根本不会触发。有没有办法获得电子使用的代理设置?
答案 0 :(得分:2)
我找到了解决方案。可以在主流程中进行代理设置。
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
});