Linux 下 Postman 接口错误追踪实操指南
一 快速定位流程
二 常见错误与排查要点
| 症状 | 可能原因 | 快速验证 | 修复建议 |
|---|---|---|---|
| 无法连接/超时 | 目标服务未启动、端口未监听、被防火墙拦截 | 在终端执行:curl -v http://host:port 或 nc -vz host port |
启动服务;开放端口;排查本机/云安全组与防火墙规则 |
| Error: connect ECONNREFUSED | 端口未监听或被占用 | `ss -ltnp | grep :端口或lsof -iTCP:端口` |
| 浏览器能访问,Postman 不行 | 代理配置不当、系统代理拦截非浏览器流量 | Postman Console 查看代理日志;Settings → Proxy | 正确配置代理或临时关闭“Use the system proxy” |
| SSL/证书错误 | 自签名证书、证书链不完整、客户端证书缺失 | Console 显示 SSL 握手失败 | 临时关闭“SSL certificate verification”验证;或导入服务器/客户端证书 |
| URL/协议错误 | 误用 http/https、端口缺失、变量未解析 | 查看 Console 的请求 URL | 修正协议与端口;确保变量在环境/全局中已定义 |
| 响应解析失败 | 响应编码/头不合法 | Console 显示解析错误 | 与后端确认返回格式与 Content-Type;必要时调整请求 Accept |
| 4xx/5xx 业务错误 | 参数缺失/校验失败、鉴权失效、限流/熔断 | 解析响应体中的 error/code/message | 按接口文档补齐必填参数;刷新或重新获取 token;处理限流重试逻辑 |
三 深入定位与日志获取
console.log() 输出上下文;Console 会展示请求头、请求体、响应头、响应体、耗时、代理与 SSL 细节,是 Linux 桌面环境下最有效的“单点排查工具”。sudo tcpdump -i any -nn port 80 or 443 -w api.pcap)并结合 Wireshark 分析;或参考前端 F12 抓包结果构造一致的 Postman 请求。journalctl);注意 Postman 多为桌面应用,通常不作为系统服务运行,系统日志价值有限,优先使用 Console 与抓包。四 可复用的 Tests 脚本模板
// 状态码
pm.test("Status is 2xx", () => pm.response.to.be.success);
// 响应时间阈值(ms)
pm.test("Response time < 1000ms", () => pm.expect(pm.response.responseTime).to.be.below(1000));
// 解析 JSON 并校验业务错误字段
const json = pm.response.json();
if (json.code !== undefined) {
pm.test("Business code is 0", () => pm.expect(json.code).to.eql(0));
pm.test("Message is string", () => pm.expect(json.message).to.be.a('string'));
}
// 日志输出,便于 Console 追踪
console.log("Status:", pm.response.status);
console.log("Response JSON:", json);
// 从响应头提取并设为环境变量
const token = pm.response.headers.get("Authorization") || pm.response.json().token;
if (token) pm.environment.set("auth_token", token);
// 统一错误处理(示例:非 2xx 时打印详情)
if (!pm.response.to.be.success) {
console.error("Request failed:", pm.request.method, pm.request.url.toString());
console.error("Response:", pm.response.text());
}
五 环境与配置建议
application/json 对应 JSON 体);避免过短的 Timeout 设置导致误判超时。