在 Postman 中配置代理
Postman 是最流行的 API 测试工具。在以下场景中需要在 Postman 中配置代理:在强制走代理的企业网络中工作、从不同地理位置测试 API、通过抓包代理(Fiddler、mitmproxy)调试流量,以及绕过速率限制。
代理配置
通过 Settings
- 打开 Postman
- 点击齿轮图标(Settings)或按 Ctrl+,
- 进入 "Proxy" 标签页
系统代理
Postman 默认使用系统代理:
1. 启用 "Use the system proxy"(默认已启用)
2. Postman 会自动使用 Windows/macOS 的代理设置
3. 无需额外配置
自定义代理
- 关闭 "Use the system proxy"
- 启用 "Add a custom proxy configuration"
- 填写:
- HTTP Proxy:地址和端口
- HTTPS Proxy:地址和端口(可以相同) - Bypass:绕过代理的域名
身份验证
如果代理需要用户名/密码:
1. 在 Proxy 设置中启用 "This proxy requires authentication"
2. 填写 Username 和 Password
3. Postman 会自动发送 Proxy-Authorization 请求头
使用环境变量
为了灵活管理代理,可使用 Postman 变量:
- 创建一个 Environment(例如 "Production via Proxy")
- 添加变量:proxy_url、proxy_user、proxy_pass
- 在 Pre-request Script 中使用这些变量
通过代理处理 SSL
关闭 SSL 校验
通过抓包代理(mitmproxy、Fiddler)工作时:
1. Settings → General
2. 关闭 "SSL certificate verification"
3. 这样 Postman 就能接受代理的自签名证书
添加 CA 证书
针对企业代理:
1. Settings → Certificates
2. 点击 "Add CA Certificate"
3. 上传企业证书的 PEM 文件
4. Postman 将信任该 CA
客户端证书
某些代理需要客户端证书:
1. Settings → Certificates
2. 点击 "Add Certificate"
3. 指定 Host、CRT 文件、KEY 文件
4. Postman 会在连接时发送该证书
把 Postman 当作代理(Interceptor)
Postman 自身也可以充当代理,拦截来自浏览器的请求:
Postman Interceptor
- 在 Chrome 中安装 "Postman Interceptor" 扩展
- 在 Postman 中启用 Interceptor
- 来自 Chrome 的请求会被 Postman 拦截
- 适合记录网站的 API 调用
Postman Proxy
- Settings → Proxy → Enable Postman as a proxy
- 指定端口(默认 5555)
- 将设备配置为使用 localhost:5555 作为代理
- 所有请求都会记录在 Postman History 中
Postman CLI(Newman)中的代理
Newman 是 Postman 的 CLI,用于从命令行运行集合:
# Via environment variable
export HTTP_PROXY=http://proxy_ip:8080
export HTTPS_PROXY=http://proxy_ip:8080
newman run collection.json
# Via flag
newman run collection.json --env-var "proxy_url=http://proxy_ip:8080"
用于代理逻辑的 Pre-request Script
// 根据环境动态选择代理
const env = pm.environment.get("target_env");
if (env === "production") {
pm.request.proxy = {
match: "https://*.api.com/*",
host: "proxy_ip",
port: 8080
};
}
调试
Postman Console
- 打开 Postman Console(View → Show Postman Console 或 Ctrl+Alt+C)
- 所有 HTTP 请求(包括代理连接)都会显示在这里
- 便于排查代理问题
Network Log
在 Console 中您可以看到:
- 与代理的连接
- CONNECT 请求(用于 HTTPS)
- 代理的响应
- 服务器的最终响应
常见问题
"Could not get any response"
- 检查代理地址和端口
- 确认代理正在运行
- 检查防火墙是否阻断了到代理的连接
通过代理时的 SSL 错误
- 在 Settings 中关闭 SSL 校验
- 或添加代理的 CA 证书
- 对于抓包代理(Fiddler),请安装它的 CA 证书
407 Proxy Authentication Required
- 在代理设置中启用身份验证
- 检查用户名和密码
- 确认代理支持 Basic auth
结论
Postman 为各种场景提供了灵活的代理设置:从企业代理到通过抓包代理调试。对 SSL 证书、环境变量和 CLI(Newman)的支持,让在图形界面和自动化流水线中使用代理都很方便。
