在某些网站axios的get请求是没问题,但是post的请求一直返回403错误,我用的是vue+vite,下面是解决办法!
在文件vite.config.ts里面设置
proxy: {
'/api': {
target: 'https://api.bilibili.com/',
changeOrigin: true,
secure:false,//解决自签名证书错误
configure: (proxy, options) => {
proxy.on('proxyReq', function (proxyReq, req, res) {
proxyReq.removeHeader('referer') //移除请求头---最主要是设置这个
proxyReq.removeHeader('origin') //移除请求头---最主要是设置这个
//proxyReq.setHeader('host','api.bilibili.com/') //添加请求头
});
proxy.on('proxyRes', function (proxyRes, req, res) {
/*添加或删除响应头有两种写法,第一种是操作 proxyRes 参数*/
delete proxyRes.headers['set-cookie']
proxyRes.headers['cookie'] = '你的cookie,可以不用设置';
//proxyRes.headers['set-cookie'] = '你的cookie,可以不用设置';
/*第二种方法是操作 res 参数*/
// res.removeHeader("Access-Control-Allow-Origin");
// res.setHeader("Access-Control-Allow-Origin", req.headers.origin);
// res.setHeader("Access-Control-Allow-Credentials", 'true');
// res.setHeader("Access-Control-Allow-Headers", "Content-Type,Content-Length, Authorization, Accept,X-Requested-With");
// res.setHeader("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
});
},
rewrite: (path) => path.replace(/^\/api/, '')
},
参考
https://github.com/http-party/node-http-proxy#listening-for-proxy-events