教你如何用Node实现API的转发(某音乐)
前言
你有没有过这样的经历:每当想写个项目来学习新技术的时候,却发现因为没有一套成熟的免费接口,而导致想法被扼杀摇篮。前段时间,笔者准备学一下hooks的姿势;苦于没有比较好的数据源。然后就找到了这个倒霉的咪咕音乐,并成功实现了接口转发。
本文主要用到了Node、Express
Node、Express
Node.js是一个基于ChromeV8引擎的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:notestspecified\"&&exit1", "dev":"nodesrc/index.js" }, "author":"alkun", "license":"ISC", "dependencies":{ "axios":"^0.19.0", "express":"^4.17.1" } }
第一步:配置入口文件index.ts
首先需要在导入下载好的安装包,并尝试开启一个服务constexpress=require('express')
constapp=express() constport=5555 app.use((req,res)=>{ res.send('hahhaha') }) app.listen(port,()=>{ console.log(`Exampleapplisteningonhttp://127.0.0.1:${port}`) })
第二步:安装axios,并实现一个简易的转发
... constaxios=require('axios') app.use(async(req,res)=>{ letresp=awaitaxios({ baseURL:'http://m.music.migu.cn/migu/remoting/', method:'get', url:'/cms_list_tag', }) res.send(resp.data) }) app.listen(8888,()=>{ console.log(`Exampleapplisteningonhttp://127.0.0.1:8888`) })
第三步:我们需要把axiox进行一些封装
待更新内容
- 请求函数的封装
- userAgent的封装
- apiList:不同api的封装
注:
本文涉及的代码还是非常简单的,更多的高大上功能还需要自己去折腾吧。
这里有完整版代码,TS+Node+Express欢迎STARSTARSTAR传送门>>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。