QQ音樂播放鏈接獲取(2020-04-27)

哈哈之前對接過QQ音樂的可能還在用之前的,例如http://tsmusic24.tc.qq.com/{$song_id}.mp3這個(gè)就不能使用了,廢物不多說,我們直接進(jìn)入正題。

第一種方法:

搜索歌曲和歌手:

請求地址:https://c.y.qq.com

請求實(shí)例: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=沒那么簡單

參數(shù)說明是否必須默認(rèn)值

p分頁否默認(rèn)為1

n請求數(shù)量否默認(rèn)為10

w關(guān)鍵字是無

format格式化否如果用Retrofit的Json解析的話記得一定要format=json

這個(gè)請求返回的數(shù)據(jù),我們會發(fā)現(xiàn)有一個(gè)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取對應(yīng)的專輯圖片。

獲取歌曲圖片:

Image_id:55176

請求模板:"http://imgcache.qq.com/music/photo/album_300/" + (Image_id% 100) + "/300_albumpic_" +?Image_id + "_0.jpg";

請求實(shí)例: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";

請示實(shí)例:https://c.y.qq.com/v8/fcg-bin/fcg_play_single_song.fcg?songid=649069&tpl=yqq_song_detail&format=jsonp&callback=getOneSongInfoCallback

返回的數(shù)據(jù)中,Songmid=mid? ? ?==》Songmid=003Ue6Ia32q4gl

然后我們還得獲取歌曲文件名:

請求模板:”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%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";

請求實(shí)例: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

返回的數(shù)據(jù)我們可以拿到filename;

?請求模板:”http://ws.stream.qqmusic.qq.com/“+filename;

請求實(shí)例: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"

請求實(shí)例: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這個(gè)就可以了,因?yàn)檎埱蟾柙~有點(diǎn)特殊,API加了限制,

Referer作用是代表你請求的來源是那里,https://y.qq.com/portal/player.html 代表QQ音樂的播放網(wǎng)址,所以只能通過他特定來源,才能

請求到數(shù)據(jù)。

第二種方法:

1.搜索歌曲和歌手:

請求地址:https://c.y.qq.com

請求示例:https://c.y.qq.com/soso/fcgi-bin/client_search_cp?p=1&n=2&w=沒那么簡單&format=json

說明:

參數(shù)說明是否必須默認(rèn)值

p分頁否默認(rèn)為1

n請求數(shù)量否默認(rèn)為10

w關(guān)鍵字是無

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參數(shù):沒有默認(rèn)值,如果為搜索專輯,則t為8。如果是搜索mv,t=12。

3.獲取歌手圖片:

請求地址:http://music.163.com

請求示例:http://music.163.com/api/search/get/web?s=黃小琥&type=100

說明:請求后將有歌手圖片的字段,請求后的picUrl和img1v1Url就是圖片地址

注意:如果請求沒數(shù)據(jù),就在請求頭加上:“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

說明:請求示例其實(shí)有兩部分組成,即固定地址(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即可。

請求后得到數(shù)據(jù),再次請求:

播放地址:

方式(1)purl為空時(shí):sip[0]+purl

http://ws.stream.qqmusic.qq.com/C400000HjG8v1DTWRO.m4a?guid=358840384&vkey=852D30CD2DEA9E0AFF9CF700977FAFB413A06486CFE8F72502918665277C5407D8D5AD42039F02329401300003A2853B10816B83C3145159&uin=0&fromtag=66

方式(2)purl為不空時(shí),使用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這個(gè)就可以了,因?yàn)檎埱蟾柙~有點(diǎn)特殊,API加了限制,

Referer作用是代表你請求的來源是那里,https://y.qq.com/portal/player.html 代表QQ音樂的播放網(wǎng)址,所以只能通過他特定來源,才能

請求到數(shù)據(jù)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容