HTTP请求代理-express,解决跨域问题
2020-06-07 05:31
495 查看
请求代理的方式有很多种,这里说的是使用Node.js中的express生成代理服务
↓ 直接上代码
- 直接使用express
- 创建目录,我这里就起名为 – > proxy-app
生成package.json文件
npm init -y
依赖就这么多 我这里就用yarn了
yarn add express yarn add axios yarn add cors
- 创建文件,我这里起名为 – > 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来配置代理, = =! 我好像写过
这篇文章找到热更新就可以看到
相关文章推荐
- HTTP请求跨域问题,解决模棱两可。
- 如何解决 XMLHttpRequest 跨域请求的问题
- 基于 HTTP 请求拦截,快速解决跨域和代理 Mock
- 详解基于angular-cli配置代理解决跨域请求问题
- 用iframe设置代理解决ajax跨域请求问题
- 基于angular-cli配置代理解决跨域请求问题
- 百度地图API 云存储·LBS.云 跨域问题解决方法——通过java.net.URLConnection发送HTTP请求
- Jmeter HTTP Proxy Server 代理录制 IE无法录制到请求的问题解决
- 用iframe设置代理解决ajax跨域请求问题
- 本地前端请求后端接口通过代理解决跨域问题
- XMLHttpRequest.withCredentials 解决跨域请求头无Cookie的问题
- vue使用代理解决请求跨域问题详解
- vue使用代理解决请求跨域问题
- 用反向代理nginx proxy_pass配置解决ie8 ajax请求被拦截问题 ie8用nginx代理实现跨域请求访问 nginx405正向代理request_uri
- vuecli3[跨域代理配置]-Access to XMLHttpRequest at 'xxx' by CORS跨域问题前端解决方式
- 用iframe设置代理解决ajax跨域请求问题
- Angular开发(十四)-利用angular的http转发、即代理http 请求,处理项目中请求跨域的问题
- XMLHttpRequest 请求java部署的webservice 跨域问题
- PHP解决跨域数据请求问题
- 利用代理页面解决html iframe跨域访问网站问题