抓某音乐播放器时现在多了个vkey,导致播放地址有问题,如何抓到vkey
一:在已经通过axios和vue-cli本地服express通过地址获取到songmid这个参数
在js里面地址和参数如下:
// 获取歌手和歌曲的详细信息
export function getSingerDetail (singermid) {
const url2 = '/api/getSingerDetail'
const data2 = Object.assign({}, commonPramas, {
platform: 'yqq',
needNewCode: 0,
order: 'listen',
begin: 0,
num: 30,
songstatus: 1,
singermid: singermid })
return Axios.get(url2, { params: data2 }).then(response => {
return Promise.resolve(response.data)
})
}
在本地请求,偏于用伪头获取导数据,在webpack.dev.conf.js里面的 devServer 对象 里面的 before(app){ } 方法里面加,具体如下:
// 歌手页面的详情页面。获取歌手的详细信息数据
app.get('/api/getSingerDetail', function (req, res) {
const url = 'https://c.y.qq.com/v8/fcg-bin/fcg_v8_singer_track_cp.fcg?'
axios.get(url, {
headers: {
referer: 'https://c.y.qq.com/',
host: 'c.y.qq.com'
},
params: req.query
}).then((response) => {
res.json(response.data)
}).catch((e) => {
res.json({
ERR_OK: 1,
data: e
})
})
})
二 , 获取到歌手和歌曲的一些基本信息后,利用里面的songmid来获取vkey
封装的获取方法,具体如下:
// 通过songmid来获取vkey,拼接歌曲地址
// http://dl.stream.qqmusic.qq.com/{filename}?vkey={vkey}&fromtag=66
export function getVkey (songmid) {
const url3 = '/api/getSongVkey'
const data3 = Object.assign({}, commonPramas, {
g_tk: '678733985',
'hostUin': '0',
'format': 'json',
'inCharset': 'utf8',
'notice': '0',
'platform': 'yqq',
'needNewCode': '0',
'cid': '205361747',
'songmid': songmid,
'filename': 'C100' + songmid + '.m4a',
'guid': '1674273789'
})
return Axios.get(url3, { params: data3 }).then(response => {
return Promise.resolve(response.data)
})
}
还是在webpack.dev.conf.js中来创造请求,代码如下:
// 获取歌曲的vkey
app.get('/api/getSongVkey', function (req, res) {
const url = 'https://c.y.qq.com/base/fcgi-bin/fcg_music_express_mobile3.fcg?'
axios.get(url, {
headers: {
referer: 'https://c.y.qq.com/',
host: 'c.y.qq.com'
},
params: req.query
}).then((response) => {
res.json(response.data)
}).catch((e) => {
res.json({
ERR_OK: 1,
data: e
})
})
})
三:个去的播放地址,用刚请求的数据进行拼接:
抓某音乐播放器时现在多了个vkey,导致播放地址有问题,如何抓到vkey的更多相关文章
- C#做音乐播放器时在自动下一曲中报异常的解决办法
---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 在利用Media Player做音乐播放器的时 ...
- CKPlayer 只调用HTML5播放器时全屏问题 这只是Chrome浏览器的渲染bug
如题,在系统中使用CKPlayer播放器,一切顺利,偶然发现没有全屏按钮, 正常的全屏按钮是这样的: 经过一步步调试,发现问题出在iframe, 当视频页面在iframe内时,全屏按钮不显示了,这个和 ...
- ckplayer,超酷网页播放器,用于集成在网站中的播放器
自己在工作中做了一个教学网站,点击左边课程,右边播放视频,经过源代码分析,用的就是这个播放器 网址:http://www.ckplayer.com/ 具体使用播放器网站上说的比较明白 div id=& ...
- 腾讯X5内核使用详解(X5内核播放器使用如何去除控制栏全屏播放)以及一些注意事项
例子下载地址 https://www.lanzous.com/i2zsv5g GIT就不用了麻烦的不行 本人安卓刚学 就上X5内核弄了老长时间由于对maven 和idea不熟悉刚开始导包都是 ...
- Andriod小项目——在线音乐播放器
转载自: http://blog.csdn.net/sunkes/article/details/51189189 Andriod小项目——在线音乐播放器 Android在线音乐播放器 从大一开始就已 ...
- iOS开发拓展篇—音频处理(音乐播放器3)
iOS开发拓展篇—音频处理(音乐播放器3) 说明:这篇文章主要介绍音频工具类和播放工具类的封装. 一.控制器间数据传递 1.两个控制器之间数据的传递 第一种方法:self.parentViewCont ...
- iOS开发拓展篇—音频处理(音乐播放器4)
iOS开发拓展篇—音频处理(音乐播放器4) 说明:该文主要介绍音乐播放器实现过程中的一些细节控制. 实现的效果: 一.完整的代码 YYPlayingViewController.m文件 // // Y ...
- android音乐播放器开发 SweetMusicPlayer 播放本地音乐
上一篇写了载入歌曲列表,http://blog.csdn.net/huweigoodboy/article/details/39856411,如今来总结下播放本地音乐. 一,MediaPlayer 首 ...
- 4个小时实现一个HTML5音乐播放器
技术点:ES6+Webpack+HTML5 Audio+Sass 这里,我们将一步步的学到如何从零去实现一个H5音乐播放器. 首先来看一下最终的实现效果:Demo链接 接下来就步入正题: 要做一个音乐 ...
随机推荐
- Qt编写输入法V2019终极版
一.前言 之前写过的V2018版本的输入法,本来已经很完善了,不打算更新升级了,最近有个朋友找我定制一个输入法,需要高仿一个苹果MAC电脑的输入法,MAC操作系统的审美无疑是相当棒的,于是乎直接拿以前 ...
- 浏览器打印出一段unicode码,汉字无法正常显示
处理办法:http://tool.chinaz.com/tools/unicode.aspx:unicode转中文就可以啦
- mysql正则替换某个字段值里面的某个字符串
sql语句如下: UPDATE `ccvms_video` SET title=REPLACE(title, "最", "相对") WHERE title LI ...
- Redis学习笔记——Redis的基本操作
之前介绍过如何在ubuntu安装Redis服务器:https://www.cnblogs.com/zifeiy/p/9062738.html 接下来,我们在Redis上进行一些基本的操作. 所县使用命 ...
- Node.js中使用pipe拷贝大文件不能完全拷贝的解决办法
原来的代码如下: var readable = fs.createReadStream( filepath ); var writable = fs.createWriteStream( outFil ...
- pytest文档20-pytest-html报告优化(添加Description)
前言 pytest-html测试报告默认是不展示用例描述Description内容,之前用unittest生成的报告是可以展示用例的描述,也就是test开头的用例下三个引号里面的注释(docstrin ...
- 基于Visual Studio Code搭建Vue开发环境
安装node.js最新版 这里安装的是8.11.4版 image.png 更新npm至最新版 安装node.js后, npm默认版本为: 6.1.0 image.png 使用npm insta ...
- [转帖]Linux中awk工具的使用
Linux中awk工具的使用 2018年10月09日 17:26:20 谢公子 阅读数 2170更多 分类专栏: linux系统安全 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权 ...
- jmeter XLSX 读取
import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFSheet; i ...
- oracle数据库与其他数据库区别
本文用的是Oracle 10g数据库,利用PL/SQL Developer的集成开发环境(安装可以自行百度) Oracle数据库 ---> 数据库实例 ---> 表空间(逻辑单位)( ...