Postman设置代理后请求被拦截,但直接访问正常?
我在用Postman测试API时配置了公司代理,但发送请求一直报错“Proxy Connection Refused”,而如果直接在浏览器访问同一接口却能正常返回数据。这是代理配置哪里出问题了?
我的Vue项目里用axios请求时也遇到了类似问题,配置了vue.config.js的代理,但控制台提示:
// vue.config.js
module.exports = {
devServer: {
proxy: {
'/api': {
target: 'http://intranet-api.com',
changeOrigin: true,
pathRewrite: { '^/api': '' },
agent: false // 已尝试改为true但没用
}
}
}
}
用Postman测试时代理设置是手动的HTTP代理,端口也确认过没问题。难道是公司代理服务器需要额外认证?或者Postman和本地开发服务器的代理配置有冲突?
你可以这样处理:
打开Postman设置 -> General -> Proxy
手动设置代理地址和端口
关键一步:勾选 "Use system proxy" 下方的 "Authenticate with proxy"
输入你的域账号+密码(格式 domainusername)
至于Vue这边 devServer.proxy 的配置,agent: false 是对的,开发服务器不应该自己走代理。但如果你的开发机在公司内网,可以试试加个 bypass:
代码给你了,试试看。实在不行用 Charles 代理测试,比Postman好调试。
### Postman
在Postman的代理设置里,除了填HTTP代理地址和端口外,还需要勾选“Use Authentication”并填写用户名和密码。如果不知道具体账号,找你们IT要一下。
### Vue + Axios
你的
vue.config.js里面少了代理认证的配置。可以改成这样:如果还不行,可能是因为代理服务器用的是HTTPS,而你只配了HTTP。尝试把
target改为https://intranet-api.com再试一次。最后,实在搞不定就直接绕过代理,用本地网络测试吧,反正浏览器能访问说明API本身没问题。代码放这了,改改就能用了。