DC空间社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

最新QQ音乐播放链接获取

[复制链接]
小永 发表于 2022-3-7 12:17:20 | 显示全部楼层 |阅读模式
哈哈之前对接过QQ音乐的可能还在用之前的,例如http://tsmusic24.tc.qq.com/{$song_id}.mp3这个就不能使用了,废物不多说,我们直接进入正题。
第一种方法:
搜索歌曲和歌手:
请求地址:https://c.y.qq.com
请求实例:https://c.y.qq.com/soso/fcgi-bin/music_search_new_platform?searchid=53806572956004615&t=1&aggr=1&cr=1&catZhida=1&lossless=0&flag_qc=0&p=1&n=2&w=没那么简单
参数说明是否必须默认值
p分页否默认为1
n请求数量否默认为10
w关键字是无
format格式化否如果用Retrofit的Json解析的话记得一定要format=json
这个请求返回的数据,我们会发现有一个f的:
"f":"649069|没那么简单|4740|黄小琥|55176|简单不简单|2492289|307|8|1|1|12327908|4931284|0|0|0|32998268|6570790|7425738|0|003Ue6Ia32q4gl|0003Aksc3Iisgq|002Gbc9W0oOAS3|0|4009",
f属性中以“|”为分隔符索引为0位置为歌曲id用来获取歌曲和歌词,索引为1是歌曲名称,索引为3是歌手名称,索引为4位置为图片id取对应的专辑图片。
获取歌曲图片:
Image_id:55176
请求模板:"http://imgcache.qq.com/music/photo/album_300/" + (Image_id% 100) + "/300_albumpic_" + Image_id + "_0.jpg";
请求实例:http://imgcache.qq.com/music/photo/album_300/76/300_albumpic_55176_0.jpg
获取歌曲播放链接:
Song_id :649069
首先获取Songmid:
请求模板:"https://c.y.qq.com/v8/fcg-bin/fcg_play_single_song.fcg?songid=" +Song_id + "&tpl=yqq_song_detail&format=jsonp&callback=getOneSongInfoCallback";
请示实例:https://c.y.qq.com/v8/fcg-bin/fcg_play_single_song.fcg?songid=649069&tpl=yqq_song_detail&format=jsonp&callback=getOneSongInfoCallback
返回的数据中,Songmid=mid     ==》Songmid=003Ue6Ia32q4gl
然后我们还得获取歌曲文件名:
请求模板:”https://u.y.qq.com/cgi-bin/music ... songmid%22%3A%5B%22"+Songmid+"%22%5D%2C%22songtype%22%3A%5B0%5D%2C%22uin%22%3A%221443481947%22%2C%22loginflag%22%3A1%2C%22platform%22%3A%2220%22%7D%7D%2C%22comm%22%3A%7B%22uin%22%3A%2218585073516%22%2C%22format%22%3A%22json%22%2C%22ct%22%3A24%2C%22cv%22%3A0%7D%7D";
请求实例:https://u.y.qq.com/cgi-bin/musicu.fcg?format=json&data=%7B%22req_0%22%3A%7B%22module%22%3A%22vkey.GetVkeyServer%22%2C%22method%22%3A%22CgiGetVkey%22%2C%22param%22%3A%7B%22guid%22%3A%22358840384%22%2C%22songmid%22%3A%5B%22003Ue6Ia32q4gl%22%5D%2C%22songtype%22%3A%5B0%5D%2C%22uin%22%3A%221443481947%22%2C%22loginflag%22%3A1%2C%22platform%22%3A%2220%22%7D%7D%2C%22comm%22%3A%7B%22uin%22%3A%2218585073516%22%2C%22format%22%3A%22json%22%2C%22ct%22%3A24%2C%22cv%22%3A0%7D%7D
返回的数据我们可以拿到filename;
请求模板:”http://ws.stream.qqmusic.qq.com/“+filename;
请求实例:http://ws.stream.qqmusic.qq.com/C400001pNZFJ4Luwsm.m4a
获取歌曲歌词:
Songmid和歌曲播放一样的获取,Songmid=003Ue6Ia32q4gl
请求模板:"https://c.y.qq.com/lyric/fcgi-bin/fcg_query_lyric_new.fcg?songmid="+Songmid+"&format=json&nobase64=1"
请求实例:https://c.y.qq.com/lyric/fcgi-bin/fcg_query_lyric_new.fcg?songmid=003Ue6Ia32q4gl&format=json&nobase64=1
如果请求返回-1310,那么请求头要加上Referer:https://y.qq.com/portal/player.html这个就可以了,因为请求歌词有点特殊,API加了限制,
Referer作用是代表你请求的来源是那里,https://y.qq.com/portal/player.html 代表QQ音乐的播放网址,所以只能通过他特定来源,才能
请求到数据。
第二种方法:
1.搜索歌曲和歌手:
请求地址:https://c.y.qq.com
请求示例:https://c.y.qq.com/soso/fcgi-bin/client_search_cp?p=1&n=2&w=没那么简单&format=json
说明:
参数说明是否必须默认值
p分页否默认为1
n请求数量否默认为10
w关键字是无
format格式化否如果用Retrofit的Json解析的话记得一定要format=json
2.搜索专辑:
请求地址:https://c.y.qq.com
请求示例:https://c.y.qq.com/soso/fcgi-bin/client_search_cp?p=1&n=2&w=没那么简单&format=json&t=8
说明:相对于搜索歌词来说,加了t参数:没有默认值,如果为搜索专辑,则t为8。如果是搜索mv,t=12。
3.获取歌手图片:
请求地址:http://music.163.com
请求示例:http://music.163.com/api/search/get/web?s=黄小琥&type=100
说明:请求后将有歌手图片的字段,请求后的picUrl和img1v1Url就是图片地址
注意:如果请求没数据,就在请求头加上:“User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36”
4.根本albnumMID获取专辑图片:
请求地址:http://y.gtimg.cn
请求示例:http://y.gtimg.cn/music/photo_new/T002R180x180M000002Gbc9W0oOAS3.jpg
说明:请求示例其实有两部分组成,即固定地址(http://y.gtimg.cn/music/photo_new/T002R180x180M000)+albumMid。
5.获取播放地址:
请求地址:https://u.y.qq.com
请求示例:https://u.y.qq.com/cgi-bin/musicu.fcg?format=json&data=%7B%22req_0%22%3A%7B%22module%22%3A%22vkey.GetVkeyServer%22%2C%22method%22%3A%22CgiGetVkey%22%2C%22param%22%3A%7B%22guid%22%3A%22358840384%22%2C%22songmid%22%3A%5B%22003Ue6Ia32q4gl%22%5D%2C%22songtype%22%3A%5B0%5D%2C%22uin%22%3A%221443481947%22%2C%22loginflag%22%3A1%2C%22platform%22%3A%2220%22%7D%7D%2C%22comm%22%3A%7B%22uin%22%3A%2218585073516%22%2C%22format%22%3A%22json%22%2C%22ct%22%3A24%2C%22cv%22%3A0%7D%7D
说明:更换请求的话,只需要更换songmid后的003Ue6Ia32q4gl即可。
请求后得到数据,再次请求:
播放地址:
方式(1)purl为空时:sip[0]+purl
http://ws.stream.qqmusic.qq.com/C400000HjG8v1DTWRO.m4a?guid=358840384&vkey=852D30CD2DEA9E0AFF9CF700977FAFB413A06486CFE8F72502918665277C5407D8D5AD42039F02329401300003A2853B10816B83C3145159&uin=0&fromtag=66
方式(2)purl为不空时,使用filename :sip[0]+filename
http://ws.stream.qqmusic.qq.com/C400001pNZFJ4Luwsm.m4a
6.获取歌词:
请求地址:https://c.y.qq.com
请求示例:https://c.y.qq.com/lyric/fcgi-bin/fcg_query_lyric_new.fcg?songmid=003aAYrm3GE0Ac&format=json&nobase64=1
注意:如果请求返回-1310,那么请求头要加上Referer:https://y.qq.com/portal/player.html这个就可以了,因为请求歌词有点特殊,API加了限制,
Referer作用是代表你请求的来源是那里,https://y.qq.com/portal/player.html 代表QQ音乐的播放网址,所以只能通过他特定来源,才能
请求到数据。



手机版|DC空间社区 ( 冀ICP备19011491号 )

GMT+8, 2022-7-5 04:59 , Processed in 0.070161 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表