记一次不成功的QQ音乐地址获取流程

本文记录了一次尝试获取QQ音乐搜索和下载API的过程,虽然未完全成功,但对作者意义重大。文章详细介绍了如何使用httpCanary进行安卓抓包,解析QQ音乐的搜索和下载URL,并探讨了vkey参数的谜团,尽管面临绿钻权限限制和其他未知参数的挑战,作者仍对未来的研究充满期待。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

可能有人觉得不成功就没必要了吧,而且我后来通过调试也实现了同样的效果,但我依然觉得这次失败对于我个人是有重大意义的。
最近对于音乐有点疯狂,确切地说是对音乐文件有点疯狂,然后自己也开始折腾起来了,随着各个好用的无损音乐下载网站、APP、插件运营(开发)者收到律师函,以后想要直接白嫖怕是难度加大了,那就自力更生吧。首先我是在某论坛看到个天翼宽带提速教程,需要用到安卓抓包工具httpCanary,我就下了个,提速没用成,结果就想到拦截QQ音乐网易云来了。
先打开抓包工具,然后添加要拦截的APP,我选择的是UC,再然后从某大神的网站下载音乐,拦截到真正的下载地址,因为该大神做了一点小隐藏,把真实地址隐藏了,别人可以用他的接口,但是不知道他内部怎么封装的。然后是下载地址传递的参数。
算了几天没弄了,总结一下我的这次获取吧。
*

QQ音乐搜索api

https://c.y.qq.com/soso/fcgi-bin/client_search_cp?ct=24&qqmusic_ver=1298&new_json=1&remoteplace=txt.yqq.center&searchid=47124617419832383&t=0&aggr=1&cr=1&catZhida=1&lossless=0&flag_qc=0&p=1&n=10&w=周杰伦&g_tk=5381&loginUin=0&hostUin=0&format=json&inCharset=utf8&outCharset=utf-8&notice=0&platform=yqq.json&needNewCode=0
返回的是json格式,但好像不是标准的json格式,需要自己处理。
只对几个参数做了猜测,也对猜测进行了验证,最主要的参数是w,搜索关键字,在这个示例链接中"周杰伦"的转码,然后p是分页的页面编号,n是一次显示的数量,可以根据需要修改

QQ音乐下载api

http://mobileoc.music.tc.qq.com/F000001zMQr71F1Qo8.flac?vkey=6805C05662B35B3EC24F5F94CBBB4E730BD0BDC3AB9801E87010174CECADDD66B0DB38F23868018B2068B483500B28D3F0AE209F521C343D&guid=MS&fromtag=8&uin=0
第一个参数是音质+文件名,F000是无损音质flac的,C400是普通mp3,码率我没记,还有两个待我以后补上,其实很多人也有分析,可以参考其他人,我只是个菜鸟个人记录一下。F00+media_mid.flac就是无损音乐的地址,vkey参数我一直没弄懂,也看了很多人的资料,奈何能力有限,无法领悟,可以确定的是vkey在一定时间后会失效。似乎是一直变化的,而且直接用浏览器调试的MP3的vkey是行不通的,有一个获取vkey的链接http://base.music.qq.com/fcgi-bin/fcg_musicexpress.fcg?json=3&guid=1830679348&g_tk=938407465&loginUin=0&hostUin=0&format=jsonp&inCharset=GB2312&outCharset=GB2312¬ice=0&platform=yqq&jsonpCallback=&needNewCode=0,还在纠结到底是需要传入音乐对应的参数来获取vkey然后形成一个唯一的下载链接还是产生一个vkey所有音乐都可以用,但只能被一个用。其他的参数好搞定也不好搞定,似乎是vkey和QQ绑定了,比如我所有参数都拿到了正确的,只是我没有绿钻,那么我拿个绿钻账号来替换参数guid好像是不行的,会403,也就是生成vkey的时候vkey就绑定了对应的账号,手动修改应该是不可能了。fromtag参数各种各样都有,不知道什么意思,uni有写0的,有随机写的。反正我怎么写都403。

以上api用浏览器调试也可以找到,用安卓手机抓包也可以,其实感觉抓包有点杀鸡用牛刀了哈哈。我是个菜鸟,高级一点地找不上去了,还要找工作,我总感觉vkey哪些东西是不是要用od什么的来调试客户端,但是在吾爱看到摩声站长说方向都错了,现在关于这个毫无头绪了。等一切稳定了研究研究电脑抓包和od的使用吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值