mirror of
https://github.com/NeteaseCloudMusicApiEnhanced/api-enhanced.git
synced 2026-10-23 16:11:24 +08:00
upgrade version 2.0,add login api,upgrade api verison,add document and unit test
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
const express = require("express")
|
||||
const router = express()
|
||||
const { createWebAPIRequest } = require("../util/util")
|
||||
|
||||
router.get("/", (req, res) => {
|
||||
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
|
||||
const data = {
|
||||
"action": req.query.action,
|
||||
"json": req.query.json,
|
||||
"csrf_token": "",
|
||||
}
|
||||
|
||||
createWebAPIRequest(
|
||||
'music.163.com',
|
||||
'/weapi/log/web',
|
||||
'POST',
|
||||
data,
|
||||
cookie,
|
||||
music_req => res.send(music_req),
|
||||
err => res.status(502).send('fetch error')
|
||||
)
|
||||
})
|
||||
|
||||
|
||||
|
||||
module.exports = router
|
||||
@@ -0,0 +1,34 @@
|
||||
const express = require("express")
|
||||
const crypto = require('crypto')
|
||||
const router = express()
|
||||
const { createWebAPIRequest } = require("../util/util")
|
||||
|
||||
router.get("/", (req, res) => {
|
||||
const email = req.query.email
|
||||
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
|
||||
const md5sum = crypto.createHash('md5')
|
||||
md5sum.update(req.query.password)
|
||||
const data = {
|
||||
'username': email,
|
||||
'password': md5sum.digest('hex'),
|
||||
'rememberLogin': 'true'
|
||||
}
|
||||
|
||||
createWebAPIRequest(
|
||||
'music.163.com',
|
||||
'/weapi/login',
|
||||
'POST',
|
||||
data,
|
||||
cookie,
|
||||
(music_req, cookie) => {
|
||||
console.log(music_req)
|
||||
res.set({
|
||||
'Set-Cookie': cookie,
|
||||
})
|
||||
res.send(music_req)
|
||||
},
|
||||
err => res.status(502).send('fetch error')
|
||||
)
|
||||
})
|
||||
|
||||
module.exports = router
|
||||
@@ -0,0 +1,34 @@
|
||||
const express = require("express")
|
||||
const crypto = require('crypto')
|
||||
const router = express()
|
||||
const { createWebAPIRequest } = require("../util/util")
|
||||
|
||||
router.get("/", (req, res) => {
|
||||
const phone = req.query.phone
|
||||
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
|
||||
const md5sum = crypto.createHash('md5')
|
||||
md5sum.update(req.query.password)
|
||||
const data = {
|
||||
'phone': phone,
|
||||
'password': md5sum.digest('hex'),
|
||||
'rememberLogin': 'true'
|
||||
}
|
||||
|
||||
createWebAPIRequest(
|
||||
'music.163.com',
|
||||
'/weapi/login/cellphone',
|
||||
'POST',
|
||||
data,
|
||||
cookie,
|
||||
(music_req, cookie) => {
|
||||
console.log(music_req)
|
||||
res.set({
|
||||
'Set-Cookie': cookie,
|
||||
})
|
||||
res.send(music_req)
|
||||
},
|
||||
err => res.status(502).send('fetch error')
|
||||
)
|
||||
})
|
||||
|
||||
module.exports = router
|
||||
@@ -0,0 +1,18 @@
|
||||
const express = require("express")
|
||||
const router = express()
|
||||
const { createRequest } = require("../util/util")
|
||||
|
||||
router.get("/", (req, res) => {
|
||||
const id = req.query.id
|
||||
createRequest('/api/song/lyric?os=osx&id=' + id + '&lv=-1&kv=-1&tv=-1', 'GET', null)
|
||||
.then(result => {
|
||||
res.setHeader("Content-Type", "application/json")
|
||||
res.send(result)
|
||||
})
|
||||
.catch(err => {
|
||||
res.status(502).send('fetch error')
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
module.exports = router
|
||||
@@ -0,0 +1,31 @@
|
||||
const express = require("express")
|
||||
const router = express()
|
||||
const { createWebAPIRequest } = require("../util/util")
|
||||
|
||||
router.get("/", (req, res) => {
|
||||
const id = parseInt(req.query.id)
|
||||
const br = parseInt(req.query.br || 999000)
|
||||
const data = {
|
||||
"ids": [id],
|
||||
"br": br,
|
||||
"csrf_token": ""
|
||||
}
|
||||
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
|
||||
|
||||
createWebAPIRequest(
|
||||
'music.163.com',
|
||||
'/weapi/song/enhance/player/url',
|
||||
'POST',
|
||||
data,
|
||||
cookie,
|
||||
music_req => {
|
||||
res.setHeader("Content-Type", "application/json")
|
||||
res.send(music_req)
|
||||
},
|
||||
err => {
|
||||
res.status(502).send('fetch error')
|
||||
}
|
||||
)
|
||||
})
|
||||
|
||||
module.exports = router
|
||||
@@ -0,0 +1,68 @@
|
||||
const http = require('http')
|
||||
const express = require("express")
|
||||
const router = express()
|
||||
const { createWebAPIRequest } = require("../util/util")
|
||||
|
||||
router.get("/", (req, res) => {
|
||||
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
|
||||
let detail, imgurl
|
||||
const data = {
|
||||
"id": req.query.id,
|
||||
"offset": 0,
|
||||
"total": true,
|
||||
"limit": 1000,
|
||||
"n": 1000,
|
||||
"csrf_token": ""
|
||||
}
|
||||
|
||||
createWebAPIRequest(
|
||||
'music.163.com',
|
||||
'/weapi/v3/playlist/detail',
|
||||
'POST',
|
||||
data,
|
||||
cookie,
|
||||
music_req=> {
|
||||
console.log(music_req)
|
||||
detail = music_req
|
||||
mergeRes()
|
||||
},
|
||||
err =>{
|
||||
res.status(502).send('fetch error')
|
||||
}
|
||||
)
|
||||
|
||||
// FIXME:i dont know the api to get coverimgurl
|
||||
// so i get it by parsing html
|
||||
const http_client = http.get({
|
||||
hostname: 'music.163.com',
|
||||
path: '/playlist?id=' + req.query.id,
|
||||
headers: {
|
||||
'Referer': 'http://music.163.com',
|
||||
},
|
||||
}, function (res) {
|
||||
res.setEncoding('utf8')
|
||||
let html = ''
|
||||
res.on('data', function (chunk) {
|
||||
html += chunk
|
||||
})
|
||||
res.on('end', function () {
|
||||
console.log('end', html)
|
||||
const regImgCover = /\<img src=\"(.*)\" class="j-img"/ig
|
||||
imgurl = regImgCover.exec(html)[1]
|
||||
mergeRes()
|
||||
|
||||
})
|
||||
})
|
||||
|
||||
function mergeRes() {
|
||||
if (imgurl != undefined && detail != undefined) {
|
||||
detail = JSON.parse(detail)
|
||||
detail.playlist.picUrl = imgurl
|
||||
res.send(detail)
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
|
||||
module.exports = router
|
||||
@@ -0,0 +1,30 @@
|
||||
const express = require("express")
|
||||
const router = express()
|
||||
const { createWebAPIRequest } = require("../util/util")
|
||||
|
||||
router.get("/", (req, res) => {
|
||||
const op = req.query.op
|
||||
const pid = req.query.pid
|
||||
const tracks = req.query.tracks
|
||||
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
|
||||
// console.log('COOKIESS', cookie)
|
||||
const data = {
|
||||
"op": op,
|
||||
"pid": pid,
|
||||
"tracks": tracks,
|
||||
"trackIds": JSON.stringify([tracks]),
|
||||
"csrf_token": "",
|
||||
}
|
||||
createWebAPIRequest(
|
||||
'music.163.com',
|
||||
'/weapi/playlist/manipulate/tracks',
|
||||
'POST',
|
||||
data,
|
||||
cookie,
|
||||
music_req => res.send(music_req),
|
||||
err => res.status(502).send('fetch error')
|
||||
|
||||
)
|
||||
})
|
||||
|
||||
module.exports = router
|
||||
@@ -0,0 +1,24 @@
|
||||
const express = require("express")
|
||||
const router = express()
|
||||
const { createWebAPIRequest } = require("../util/util")
|
||||
|
||||
router.get("/", (req, res) => {
|
||||
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
|
||||
const data = {
|
||||
"csrf_token": ""
|
||||
}
|
||||
|
||||
createWebAPIRequest(
|
||||
'music.163.com',
|
||||
'/weapi/v1/discovery/recommend/resource',
|
||||
'POST',
|
||||
data,
|
||||
cookie,
|
||||
music_req => res.send(music_req),
|
||||
err => res.status(502).send('fetch error')
|
||||
)
|
||||
})
|
||||
|
||||
|
||||
|
||||
module.exports = router
|
||||
@@ -0,0 +1,27 @@
|
||||
const express = require("express")
|
||||
const router = express()
|
||||
const { createWebAPIRequest } = require("../util/util")
|
||||
|
||||
router.get("/",(req,res)=>{
|
||||
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
|
||||
const data = {
|
||||
"offset": 0,
|
||||
"total": true,
|
||||
"limit": 20,
|
||||
"csrf_token": ""
|
||||
}
|
||||
|
||||
createWebAPIRequest(
|
||||
'music.163.com',
|
||||
'/weapi/v1/discovery/recommend/songs',
|
||||
'POST',
|
||||
data,
|
||||
cookie,
|
||||
music_req => res.send(music_req),
|
||||
err => res.status(502).send('fetch error')
|
||||
)
|
||||
})
|
||||
|
||||
|
||||
|
||||
module.exports=router
|
||||
@@ -0,0 +1,20 @@
|
||||
const express = require("express")
|
||||
const router = express()
|
||||
const { createRequest } = require("../util/util")
|
||||
|
||||
router.get("/", (req, res) => {
|
||||
const keywords = req.query.keywords
|
||||
const type = req.query.type || 1
|
||||
const limit = req.query.limit || 30
|
||||
const data = 's=' + keywords + '&limit=' + limit + '&type=' + type + '&offset=0'
|
||||
createRequest('/api/search/pc/', 'POST', data)
|
||||
.then(result => {
|
||||
res.setHeader("Content-Type", "application/json")
|
||||
res.send(result)
|
||||
})
|
||||
.catch(err => {
|
||||
res.status(502).send('fetch error')
|
||||
})
|
||||
})
|
||||
|
||||
module.exports = router
|
||||
@@ -0,0 +1,24 @@
|
||||
const express = require("express")
|
||||
const router = express()
|
||||
const { createWebAPIRequest } = require("../util/util")
|
||||
|
||||
router.get("/", (req, res) => {
|
||||
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
|
||||
const data = {
|
||||
"offset": 0,
|
||||
"uid": req.query.uid,
|
||||
"limit": 1000,
|
||||
"csrf_token": ""
|
||||
}
|
||||
createWebAPIRequest(
|
||||
'music.163.com',
|
||||
'/weapi/user/playlist',
|
||||
'POST',
|
||||
data,
|
||||
cookie,
|
||||
music_req => res.send(music_req),
|
||||
err => res.status(502).send('fetch error')
|
||||
)
|
||||
})
|
||||
|
||||
module.exports = router
|
||||
Reference in New Issue
Block a user