HTTP请求代理-express,解决跨域问题

请求代理的方式有很多种,这里说的是使用Node.js中的express生成代理服务
↓ 直接上代码

  • 直接使用express
  1. 创建目录,我这里就起名为 – > proxy-app

生成package.json文件

npm init -y 

依赖就这么多 我这里就用yarn了

yarn add express
yarn add axios
yarn add cors
  1. 创建文件,我这里起名为 – > app.js
const express = require("express")
const axios = require("axios").default
const cors = require("cors")
const app = express() // 变量赋值
// 允许跨域
app.use(cors())
// 接受JSON格式数据
app.use(express.json())
// 接受url编码
app.use(express.urlencoded())

// 接受一个post请求
app.post("/api/v1/proxy",async (req,res)=>{
	const {url} = req.body
	const result = await axios.get(url)
	res.json(result.data)
})

// 监听3009端口
app.listen(3009,()=>console.log("服务器运行在3009端口"))

就这么多,然后打开终端运行就可以

node app.js

下面就可以在项目中使用axios发送请求了

/** post 请求
 *	参数一 请求的地址
 *	参数二 请求的数据
 *  这里在服务器端把需要跨域的地址用url传递过去
 *  服务器端使用cors解决跨域问题,返回数据
 */
axios.post("http://localhost:3009/api/v1/proxy",
{url:"https://api-m.mtime.cn/Showtime/LocationMovies.api?locationId=290"})
.then(res=>{
	console.log(res)
})

这种方法把,说实话已经很简单了。当然如果你有兴趣可以用express应用程序生成器来完善服务器端代码
但是这种方法等于再写了一个文件。
我们也可以使用webpack-dev-server来配置代理, = =! 我好像写过
这篇文章找到热更新就可以看到


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值