抓某音乐播放器时现在多了个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链接 接下来就步入正题: 要做一个音乐 ...
随机推荐
- Javescript——数据类型
原文链接:Understanding Data Types in JavaScript Data types are used to classify one particular type of d ...
- MySQL建表时添加备注以及查看某一张表的备注信息
建表的时候对列和表明添加备注: DROP TABLE IF EXISTS test_table; CREATE TABLE test_table ( ID INTEGER AUTO_INCREMENT ...
- Ubuntu-18.04更改安装源为国内源
环境查看 修改源文件 /etc/apt/sources.list 备份配置文件后把文件内容替换如下 deb http://mirrors.aliyun.com/ubuntu/ bionic main ...
- iOS-UITabbar自定义
[self createCustomTabBar]; -(void)createCustomTabBar{ //创建一个UIImageView,作为底图 UIImageView *bgVi ...
- 【计算机视觉】Selective Search for Object Recognition论文阅读1
Selective Search for Object Recognition 作者: J. R. R. Uijlings, K. E. A. van de Sande, T. Gevers, A. ...
- Jenkins持续集成企业实战
阅读目录: Jenkins持续集成企业实战1.1 目前主流网站部署的流程1.2 Jenkins持续集成简介1.3 Jenkins持续集成组件1.4 Jenkins平台安装部署1.5 Jenkins相关 ...
- python 实现快速排序(面试经常问到)
# -*- coding: UTF-8 -*- # 递归实现, 把过程打印出来便于理解 def quick_sort1(lis, start, end): if start >= end: re ...
- oracle多表关联查询和子查询
oracle多表关联查询和子查询 一.多表关联查询 例子: SQL> create table student1 ( sid ), sname ), sage )); Table created ...
- hadoop基本文件配置
[学习笔记] 5)hadoop基本文件配置:hadoop配置文件位于:/etc/hadoop下(etc即:“etcetera”(附加物))core-site.xml:<configuration ...
- aPlugForUNIX(POJ-1087)【最大流】
题目链接:https://vjudge.net/problem/POJ-1087 题意:有N个插座,M个电器,K种转换头(每种转换头有无限多个),求最多能同时给多少台设备供电 思路: 首先,建立源点和 ...