提交 f454beb9 编写于 作者: N Nzix

make banner api more useful

上级 ebcf1f19
const express = require("express");
const router = express();
const { createWebAPIRequest } = require("../util/util");
const request = require("request");
router.get("/", (req, res) => {
const cookie = req.get("Cookie") ? req.get("Cookie") : "";
const data = {
timeStamp: 0 + new Date(),
csrf_token: ""
const options = {
url: "http://music.163.com/discover",
method: "GET",
headers: {
Referer: "http://music.163.com",
"User-Agent":
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3380.0 Safari/537.36"
}
};
createWebAPIRequest(
"music.163.com",
"/api/v2/banner/get",
"POST",
data,
cookie,
music_req => {
res.send(music_req);
},
err => res.status(502).send("fetch error")
);
request(options, (error, response, body) => {
if (error) {
res.status(502).send("fetch error");
} else {
try {
const pattern = /<script[^>]*>\s*window\.Gbanners\s*=\s*([^;]+?);\s*<\/script>/g;
const banners = pattern.exec(body)[1];
res.send(JSON.stringify(eval(banners)));
} catch (error) {
res.status(502).send("fetch error");
}
}
});
});
module.exports = router;
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册