NodeJS
使用 Proxyman Automatic Setup 抓取 NodeJS 应用和脚本的 HTTP/HTTPS 流量,兼容 axios、got、superagent、fetch 和 node-fetch。
1. 全新自动方案(v4.7.0 或更高版本)✅
Proxyman v4.7.0 或更高版本可以一键抓取 NodeJS 的 HTTP/HTTPS 流量。
- 一键方案:无需手动设置 HTTP Proxy,也无需手动信任自签名证书。
- 支持多种 NodeJS 库:axios、got、superagent、fetch 和 node-fetch
使用方法:
- 打开 Proxyman -> Setup Menu -> Automatic Setup
- 点击 “Open New Terminal”
- 如有需要,请允许 AppleScript 的权限请求
- 会打开一个新的 Terminal 窗口,在其中启动 NodeJS 后端服务或运行脚本,Proxyman 会自动抓取所有流量
- 例如:
$ npm start
完成 ✅

抓取 NodeJS 流量
请查看 Automatic Setup 页面:
2. 旧方案(不推荐)❌
在 NodeJS 中使用 Proxyman 时,常见问题有以下几种:
1. Proxyman 无法抓取发往我的 NodeJS 服务器(http://localhost:3000 )的请求
如果你使用 NodeJS 在本地提供网站(例如 http://localhost:3000 ),Proxyman 可能无法正常工作。例如:你使用 ExpressJS 在 http://localhost:3000 上提供 API 服务器。
解决方案:
请参阅 无法看到本地服务器的任何请求。
2. Proxyman 无法抓取由我的 NodeJS 本地服务器发出的 HTTP 请求。
解决方案
默认情况下,NodeJS 库发出的 HTTP/HTTPS 请求不会经过 HTTP 代理服务器,因此 Proxyman 无法抓取这些流量。
2.1 node-fetch
- 安装 global-agent 包
npm install global-agent
2. 在 NodeJS 代码的顶部添加以下代码:
import { bootstrap } from 'global-agent';
bootstrap();
process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = '0';
3. 在当前 shell 中添加此环境变量。确保 Proxyman 正在监听 9090 端口。
export GLOBAL_AGENT_HTTP_PROXY=http://127.0.0.1:9090
4. 完成 ✅
再次运行 NodeJS 脚本,HTTP/HTTPS 请求就会出现在 Proxyman 应用中。
示例代码
import fetch from 'node-fetch';
// Setup global-agent
import { bootstrap } from 'global-agent';
bootstrap();
process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = '0';
// fetch the data
const response = await fetch('https://httpbin.org/get?id=123');
const data = await response.json();
// Done
console.log(data);
2.2 Axios
根据 Axios 文档,可以设置 HTTP_PROXY 和 HTTPS_PROXY 环境变量。
- 点击菜单栏中的 Proxyman 图标 -> Listen on <IP>:<Port>
- 点击 “Copy Shell Command”

- 打开 Terminal 并粘贴该命令。例如:export https_proxy=http://192.168.1.103:9090 http_proxy=http://192.168.1.103:9090
- 在同一个 Terminal 中,使用 axios 启动 NodeJS 服务器。
- Axios 会将流量经由 Proxyman 发送。
- 完成 ✅
2.3 使用其他 NodeJS 库
如果你没有使用 fetch 或 axios,配置方法可能有所不同。请查阅所用库的文档,了解如何设置代理并信任 Proxyman 证书。