设置Electron App的代理

Joh*_*Doe 6 proxy http-proxy electron

我正在使用某些npm模块,这些模块在后台发出获取请求以从网站中提取一些数据。但是没有选项或设置来为这些请求设置代理,所以我想知道如何为整个电子应用设置代理,以便所有请求都通过该代理?

Jef*_*rod 2

使用请求

使用环境变量

process.env.HTTP_PROXY = 'http://192.168.0.36:3128'
Run Code Online (Sandbox Code Playgroud)

使用Axios

安装这个包:

npm install https-proxy-agent
Run Code Online (Sandbox Code Playgroud)

然后 :

const axios = require('axios');
const HttpsProxyAgent = require('https-proxy-agent');

let config = {}
config.httpsAgent = new HttpsProxyAgent('http://192.168.0.36:3128')
config.url = 'https://example.com'
config.method = 'GET'

axios(config).then(...).catch(...)
Run Code Online (Sandbox Code Playgroud)

电子应用程序

对于墙壁应用程序(如 HTML 中的 IMG SRC),您可以使用 Electron 支持的命令行开关:

const { app } = require('electron')
app.commandLine.appendSwitch('proxy-server', '172.17.0.2:3128')
app.on('ready', () => {
  // Your code here
})
Run Code Online (Sandbox Code Playgroud)

查看文档