教你如何用Node实现API的转发(某音乐)

 更新时间:2019年09月20日 15:42:09   作者:alkun  
这篇文章主要介绍了教你如何用Node实现API的转发(某音乐),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

前言

你有没有过这样的经历:每当想写个项目来学习新技术的时候,却发现因为没有一套成熟的免费接口,而导致想法被扼杀摇篮。前段时间,笔者准备学一下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 传送门>>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 掌握Node.js中的Promise异步编程方式

    掌握Node.js中的Promise异步编程方式

    Node.js中的Promise是一种异步编程方式,可以解决回调地狱问题,提高代码可读性和可维护性。通过掌握Promise的使用方法,可以更好地进行异步编程,避免一些常见的错误和陷阱
    2023-05-05
  • NODE.JS加密模块CRYPTO常用方法介绍

    NODE.JS加密模块CRYPTO常用方法介绍

    这篇文章主要介绍了NODE.JS加密模块CRYPTO常用方法介绍,需要的朋友可以参考下
    2014-06-06
  • nodejs报digital envelope routines::unsupported错误的最新解决方法

    nodejs报digital envelope routines::unsupported错误的最新解决方法

    这篇文章主要介绍了nodejs报digital envelope routines::unsupported错误的最新解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-02-02
  • 详解Node.js中的事件机制

    详解Node.js中的事件机制

    Node.js能够在众多的后端JavaScript技术之中脱颖而出,正是因其基于事件的特点而受到欢迎,所以这篇文章小编给大家详细介绍了Node.js中的事件机制,本文介绍的很详细,对大家的理解和学习很有帮助,下面来一起看看吧。
    2016-09-09
  • node.js操作mongodb学习小结

    node.js操作mongodb学习小结

    这篇文章主要介绍了node.js操作mongodb学习小结,本文给出了mongodb创建数据库、插入数据以及连接mongodb数据库并查询数据等代码实例,需要的朋友可以参考下
    2015-04-04
  • node.js调用脚本(python/shell)和系统命令

    node.js调用脚本(python/shell)和系统命令

    这篇文章介绍了node.js调用脚本(python/shell)和系统命令的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • Nest.js环境变量配置与序列化详解

    Nest.js环境变量配置与序列化详解

    这篇文章主要给大家介绍了关于Nest.js环境变量配置与序列化的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • node.js中的fs.open方法使用说明

    node.js中的fs.open方法使用说明

    这篇文章主要介绍了node.js中的fs.open方法使用说明,本文介绍了fs.open方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下
    2014-12-12
  • 搭建pomelo 开发环境

    搭建pomelo 开发环境

    Pomelo是基于 Node.js 的高性能、分布式游戏服务器框架。它包括基础的开发框架和相关的扩展组件(库和工具包),可以帮助你省去游戏开发枯燥中的重复劳动和底层逻辑的开发。Pomelo不但适用于游戏服务器开发,也可用于开发高实时 Web 应用
    2014-06-06
  • node连接kafka2.0实现方法示例

    node连接kafka2.0实现方法示例

    这篇文章主要介绍了node连接kafka2.0,nodejs连接kafka2.0的实现方法,结合实例形式分析了kafka2.0的功能、原理、以及node.js连接kafka2.0的具体实现技巧,需要的朋友可以参考下
    2023-05-05

最新评论