教你如何用Node实现API的转发(某音乐)
2019-09-20 15:42
1381 查看
前言
你有没有过这样的经历:每当想写个项目来学习新技术的时候,却发现因为没有一套成熟的免费接口,而导致想法被扼杀摇篮。前段时间,笔者准备学一下hooks的姿势;苦于没有比较好的数据源。然后就找到了这个倒霉的咪咕音乐,并成功实现了接口转发。
本文主要用到了 Node、Express
Node、Express
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。
Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。
Express 基于 Node.js 平台,快速、开放、极简的 Web 开发框架
快速上手
文档目录 ├── dist ├── node_modules ├── public │ └── index.html ├── src │ └── apiList │ ├── index.js │ └── client_play_list_tag.js │ └── ... │ └── utils │ └── request.js │ └── userAgent.js │ ├── index.js ├── package.json
package.json
{ "name": "testnodeapi", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "dev": "node src/index.js" }, "author": "alkun", "license": "ISC", "dependencies": { "axios": "^0.19.0", "express": "^4.17.1" } }
第一步:配置入口文件index.ts
首先需要在导入下载好的安装包,并尝试开启一个服务const express = require('express')
const app = express() const port = 5555 app.use((req, res) => { res.send('hahhaha') }) app.listen(port, ()=>{ console.log(`Example app listening on http://127.0.0.1:${port}`) })
第二步:安装axios,并实现一个简易的转发
... const axios = require('axios') app.use(async (req, res) => { let resp = await axios({ baseURL: 'http://m.music.migu.cn/migu/remoting/', method: 'get', url: '/cms_list_tag', }) res.send(resp.data) }) app.listen(8888, () => { console.log(`Example app listening on http://127.0.0.1:8888`) })
第三步:我们需要把axiox进行一些封装
待更新内容
- 请求函数的封装
- userAgent的封装
- apiList: 不同api的封装
注:
本文涉及的代码还是非常简单的,更多的高大上功能还需要自己去折腾吧。
这里有完整版代码,TS + Node + Express 欢迎 STAR STAR STAR 传送门>>
以上就是本文的全部内容,希望对大家的学习有所帮助
您可能感兴趣的文章:
相关文章推荐
- 50行代码实现 node 转发 API 请求服务
- 如何实现api钩子
- Node.js如何实现注册邮箱激活功能 (常见)
- 文件打开时从中心文件分离用Revit API如何实现
- 求教:请问Android中,权限的实现与相应API的调用是如何实现的
- java如何实现系统监控、系统信息收集、sigar开源API的学习
- 使用readline模块如何实现Node.js的输入输出?
- 最近遇到一个非常棘手的需求是关于邮件转发的问题,请大家来帮忙给出出主意如何实现。
- js如何调用qq互联api实现第三方登录
- 如何在网页中实现音乐播放功能
- 如何实现api钩子
- 如何实现拨通电话,IVR提示,转人工按1,转传真按2,繁忙时自动转到队列,并播放音乐,并提示按1继续等待,按2退出。
- Servlet中如何实现页面转发
- node如何实现一个简单的爬虫
- 动手实操(一) | 如何用七牛云 API 实现相片地图?
- 微博转发的内容如何实现点击人名跳转到个人主页
- 【升级版】如何使用阿里云云解析API实现动态域名解析,搭建私有服务器【含可执行文件和源码】
- 如何在 Node 中实现服务器重定向
- 如何实现RESTful Web API的身份验证
- 转北京佳明BBS:SDK开发:如何实现UI API 与DI API的无缝连结