在某些网站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://liyangzone.com/article/2022-05-25-advanced-proxy-config/
https://github.com/http-party/node-http-proxy#listening-for-proxy-events
上面的两个网址可以了解的更多!

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐