QQ音乐的歌曲要想下载很简单,最主要的就是通过获取到vkey和歌曲的mid进行地址拼接,进行下载。
获取方法一(直接计算)
首先来看一段无损音乐的地址
http://dl.stream.qqmusic.qq.com/F000003aAYrm3GE0Ac.flac?vkey=9EE4B929121DD578EE78612BC15DE2A6276D5792625C822D772B42B66C3922DB682E7F674BA92A8BD1D78D39D090F73BACCBE9F2BF9181E6&guid=1234567890&uin=1008611&fromtag=64
抽象一下:
无损下载的地址就是这样的
http://dl.stream.qqmusic.qq.com/A000” + StrMediaMid + “.ape” + “?vkey=” + vkey + “&guid=” + guid + “&uin=” + uin + “&fromtag=64
这段网址中,A000为音乐格式的标识符,ape为A000,flac文件为F000,320Kmp3文件为M800,普通mp3为M500。
StrMediaMid,为歌曲的MID,可以查看音乐也没的网页源码
在网页里面找到strMediaMid后面的参数
vkey为歌曲的核心认证参数,后面说如何获取
guid为随机数,获取vkey的时候会提交guid,应该和提交的时候一致。
uin是QQ号,获取vkey的时候会提交QQ号,应该和提交的时候一致。
计算vkey方法
url = “http://c.y.qq.com/base/fcgi-bin/fcg_music_express_mobile3.fcg?g_tk=0&loginUin=” + uin + “&hostUin=0&format=json&inCharset=utf8&outCharset=utf-8¬ice=0&platform=yqq&needNewCode=0&cid=205361747&uin=” + uin + “&songmid=003a1tne1nSz1Y&filename=C400003a1tne1nSz1Y.m4a&guid=” + guid
本地址为vkey获取的地址,uin为QQ号,两个uin都该一致,gui为随机数。提交会返回一个json数据,vkey就在里面了。
{
"code": 0,
"cid": 205361747,
"userip": "182.150.103.213",
"data":
{
"expiration": 80400,
"items":
[
{
"subcode": 0,
"songmid": "003a1tne1nSz1Y",
"filename": "C400003a1tne1nSz1Y.m4a",
"vkey": "0CF6896ABBC87B84173BB0DFBDA35223867021149CCF05C4B16E21C67DD7628C667EA9867885336D171FA0F9B4CF54A80879E92E78BF2A75"
}
]
}
}
那么要下载一个无损就很简单了。
组合好网址,就可以进行下载了。
获取方法二(替换法)
说实在的,QQ音乐的这个算法真的是简单得漏洞百出。首先我们选择一首音乐进行播放,使用谷歌内核的浏览器F12进行抓包。
选择过滤器只查看媒体文件,我们就可以看到一段播放地址了
http://dl.stream.qqmusic.qq.com/C400000DwvOd2VQYRl.m4a?vkey=D9EE5F84DF7C0E4E4C9DE27E8B7B04A99C5B61D555A176C59F1A92B1A5BF849671860FDE21765281EE25490C67D8A60886E7378732144C1E&guid=5891092592&uin=2242332008&fromtag=66
有没有很熟悉?这个地址和我们的无损地址就只差一点点了。
首先修改C400为上面我们需要的无损前缀,比如ape修改为A000,然后把m4a修改成ape,最后将末尾的fromtag=66修改成fromtag=64,即可
相关源码下载
解析好QQ音乐的搜索,即可做成一个比较不错的客户端了
易语言源码
链接: https://pan.baidu.com/s/1-NGB64TeTpm6eA6H1yyXUw 密码: rhv5
Android studio源码
链接: https://pan.baidu.com/s/1nQ7Ntw6A0ahtAeC7FMn7dw 密码: uhpe
评论列表(35条)
这个有意思啊,我也特别喜欢干这种分析构造url的事儿,有时候稍稍改一下它的参数就有意想不到的惊喜!
成功了吗?
目前访问被禁了,下不了了
干的漂亮,这些音乐网站其实都不是好东西,以前都是让大家把自己收藏的好音乐上传到网站,现在一转眼就以版权的名义向大家收费捞钱,太黑了~~~
返回的数据里没有vkey怎么解决
现在好像无法用此方法下载无损和高品质了
访问被禁止了
那就用第二种方法,不用改网址,直接下载,是m4a文件,打开QQ音乐,点击三个横(更多)点击音频转码,可以m4a转MP3
IDM可以直接抓包
为什么改好了链接显示403错误
兄弟牛啊~我刚开始用的是1.9版本的用气来已经很不错了~~现在渐渐的大大小小的音乐播放器都要付费使用让我很头痛,下首歌都要收费烦~如果在苹果手机上听音乐是不是要下载完后改成苹果手机支持的格式才行啊~
不需要,媒体格式都是通用的
------------------------------------------------------------------
以前用QQ音乐,是因为有DTS音效,当音效要求付费后,我就换成了虾米,低价的会员、更准确的AI推荐,当下资源又很多。但还是要感谢作者热心分享,如果能修改下DTS音效,能让手机全程使用DTS就更好了。期待~
QQ号码应该用有绿钻特权的才能获取到无损音质的歌曲vkey吧.....需要在请求vkey的机器上登录绿钻QQ才行,普通的QQ号码获取的vkey是空的。
特地来评论支持
请问v2.1版本解析地址是否有改变,能否说一下,无损的
大佬大佬!
社会社会
真是大佬
低调低调
这个厉害了,不过要防止腾讯看到改变版权方式,低调低调
学习了,希望站主多发教程!
学习了
厉害了,虽然方法一完全看不懂