You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在node.js中使用带身份验证的代理发送POST请求

Node.js 通过带身份验证的代理发送POST请求实现方案

以下提供两种可直接复用的实现方式,请将代码中代理配置参数替换为你实际持有的主机、端口、用户名、密码信息:

方案1:使用 axios + https-proxy-agent(开发场景最常用)

首先安装所需依赖:
npm install axios https-proxy-agent

对应实现代码:

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

// 代理配置
const proxyOptions = {
  host: '你的代理主机',
  port: 你的代理端口,
  auth: {
    username: '你的代理用户名',
    password: '你的代理密码'
  }
};
const proxyAgent = new HttpsProxyAgent(proxyOptions);

// 发送POST请求
axios.post('http://example.com', {
  a: 3
}, {
  httpAgent: proxyAgent,
  httpsAgent: proxyAgent
}).then(response => {
  console.log('响应内容:', response.data);
}).catch(error => {
  console.error('请求出错:', error);
});

方案2:使用 Node.js 原生 http 模块(无需安装第三方依赖)

适合不想引入额外依赖的场景,实现代码如下:

const http = require('http');

// 代理配置
const PROXY_HOST = '你的代理主机';
const PROXY_PORT = 你的代理端口;
const PROXY_USER = '你的代理用户名';
const PROXY_PWD = '你的代理密码';
const proxyAuthHeader = 'Basic ' + Buffer.from(`${PROXY_USER}:${PROXY_PWD}`).toString('base64');

// 请求参数配置
const postBody = JSON.stringify({ a: 3 });
const requestOptions = {
  host: PROXY_HOST,
  port: PROXY_PORT,
  path: 'http://example.com',
  method: 'POST',
  headers: {
    'Host': 'example.com',
    'Proxy-Authorization': proxyAuthHeader,
    'Content-Type': 'application/json',
    'Content-Length': Buffer.byteLength(postBody)
  }
};

const req = http.request(requestOptions, (res) => {
  let result = '';
  res.on('data', chunk => result += chunk);
  res.on('end', () => {
    console.log('响应内容:', result);
  });
});

req.on('error', err => console.error('请求出错:', err.message));
req.write(postBody);
req.end();

注意事项

  • 如果目标请求地址为 HTTPS 协议,将原生模块引入的http替换为https即可,axios 方案无需额外调整
  • 若代理连接出现证书验证错误,可在请求配置中添加rejectUnauthorized: false临时跳过验证,生产环境不建议开启该配置
  • 部分代理服务商要求添加特殊请求头,可根据官方说明在headers配置项中补充

内容的提问来源于stack exchange,提问作者bob02940

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 23:06:06