🗣 Wd提问: HTTP代理 nodejs
🤖 Ai回答: 在 Node.js 中使用 HTTP 代理,可以通过多种方式实现。以下是一些常见的方法和示例代码:
1、使用 `http` 模块
Node.js 的内置 `http` 模块可以直接设置代理。
javascript
const http = require('http');
const https = require('https');
const options = {
hostname: 'example.com',
port: 80,
path: '/',
method: 'GET',
agent: new http.Agent({
keepAlive: true,
keepAliveMsecs: 30000,
maxSockets: 256,
maxFreeSockets: 256,
scheduling: 'lifo'
})
};
if (process.env.http_proxy) {
const proxyUrl = new URL(process.env.http_proxy);
options.agent = new http.Agent({
keepAlive: true,
keepAliveMsecs: 30000,
maxSockets: 256,
maxFreeSockets: 256,
scheduling: 'lifo',
proxy: {
host: proxyUrl.hostname,
port: proxyUrl.port
}
});
}
const req = http.request(options, (res) = {
console.log(`statusCode: ${res.statusCode}`);
res.on('data', (d) = {
process.stdout.write(d);
});
});
req.on('error', (error) = {
console.error(error);
});
req.end();
2、使用 `https-proxy-agent` 库
`https-proxy-agent` 是一个常用的库,可以方便地设置 HTTP 和 HTTPS 代理。
首先,安装 `https-proxy-agent`:
bash
npm install https-proxy-agent
然后,使用它来创建代理:
javascript
const http = require('http');
const HttpsProxyAgent = require('https-proxy-agent');
// 设置代理地址
const proxy = 'http://proxy.example.com:8080';
const agent = new HttpsProxyAgent(proxy);
const options = {
hostname: 'example.com',
port: 80,
path: '/',
method: 'GET',
agent: agent
};
const req = http.request(options, (res) = {
console.log(`statusCode: ${res.statusCode}`);
res.on('data', (d) = {
process.stdout.write(d);
});
});
req.on('error', (error) = {
console.error(error);
});
req.end();
3、使用 `node-fetch` 库
`node-fetch` 是一个流行的 HTTP 客户端库,支持代理。
首先,安装 `node-fetch` 和 `cross-fetch-proxy`:
bash
npm install node-fetch cross-fetch-proxy
然后,使用它们来发送请求:
javascript
const fetch = require('node-fetch');
const { setGlobalDispatcher } = require('cross-fetch-proxy');
// 设置代理
setGlobalDispatcher(new ProxyAgent('http://proxy.example.com:8080'));
fetch('https://example.com')
.then(response = response.text())
.then(data = console.log(data))
.catch(error = console.error(error));
4、使用环境变量
Node.js 还可以通过环境变量来设置代理,适用于简单的场景。
bash
export http_proxy=http://proxy.example.com:8080
export https_proxy=http://proxy.example.com:8080
然后在 Node.js 代码中直接使用 `http` 或 `https` 模块:
javascript
const http = require('http');
const options = {
hostname: 'example.com',
port: 80,
path: '/',
method: 'GET'
};
const req = http.request(options, (res) = {
console.log(`statusCode: ${res.statusCode}`);
res.on('data', (d) = {
process.stdout.write(d);
});
});
req.on('error', (error) = {
console.error(error);
});
req.end();
以上是几种在 Node.js 中使用 HTTP 代理的方法,你可以根据具体需求选择合适的方式。
0
网址:wap.palyscs.cn
IP地址: 72.65.110.99
搜索次数: 3
提问时间: 2025-09-17 03:37:40
❓ 热门问答:
btc今日行情分析比特币
steam手机版下载怎么下载
dogengers 高校篇
油管专享视频破解
ebay买家版
proxychains-ng
instagram官方免费下载vivo
instagram怎么注册进去
ssr天赋开局无限充值在线观看短剧
快连电脑端旧版本怎么下载
0.1eth等于多少人民币一元
路由器的ssr功能是什么意思
netflix apk索尼电视
上instagram的方法
facebook是干嘛的?
instagram 安卓 下载
ada币未来5年价格
推特怎么看成年内容是什么
电脑视频加速器插件怎么装
instagram是什么社交软件
📢 温馨提示:本站所有问答由Ai自动创作,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。
👉 技术支持:本站由JJ加速器提供技术支持,使用的最新版:《JJ加速器Ai问答系统 V.25.09.02》搭建本站。