music.qq.com/qqmusic.html?id=3 94786部队歌名

http:/ /tsmusic24./{音乐ID}.mp3
http:/ /stream.qqmusic./{音乐ID}.mp3
http:/ /stream{1-30都可以}./{音乐ID}.mp3
http:/ /tsmusic128./{音乐ID+}.mp3 (请计算出结果)
http:/ /tsmusic128./{音乐ID+}.ogg (请计算出结果)
http:/ /tsmusic24./{音乐ID}.m4a
http:/ //{音乐ID}.m4a?fromtag=38
http:/ //C100{音乐MID}.m4a?fromtag=38
http:/ /cc.stream./C200{音乐MID}.m4a?vkey={VKEY的值}&guid=
示例获取单曲页面的MP3或M4A文件链接
http:/ //#type=song&mid=002G0sJY2wThyx
其中的002G0sJY2wThyx就是歌曲的mid
打开上面的URl浏览器会加载iframe框架http:/ /s.plcloud./fcgi-bin/fcg_yqq_song_detail_info.fcg?songmid=002G0sJY2wThyx
Ctrl-U查看源码
var g_SongData = { id: 7168586, songmid: &#sJY2wThyx’, songname: ‘喜欢你’, singer:’G.E.M. 邓紫棋’, singerid:13948,singermid:&#fNHEf1SFEFN’,albumname:’喜欢你’, albumid:654246,albummid:&#cFPKx3ZGzks’, status:31, fnote:0};/*status:非0(true)表示正常歌曲,0(false)表示下架歌曲或者歌曲不存在*/
说明:其中的7168586就是对应歌曲的id,而002G0sJY2wThyx是歌曲的mid,每首歌曲的信息都不同,这需要使用正则匹配数据
$u = $_GET['u'];
$type = $_GET['t']?$_GET['t']:’mp3′;
$con = ‘http://s.plcloud./fcgi-bin/fcg_yqq_song_detail_info.fcg?songmid=’.$u;
preg_match(‘|var g_SongData = ({.*});|’,file_get_contents($con),$data);
$obj = json_decode(format_ErrorJson(iconv(‘GBK’, ‘UTF-8′, $data[1])));
$id = $obj-&
//$mid = $obj-&
$url = ‘http://tsmusic24./’.$id.’.’.$
header(‘Location: ‘.$url);
function format_ErrorJson($data)
$con = str_replace(‘\”,’“‘,$data);//替换单引号为双引号
$con = preg_replace(‘/(\w+):[ {]?((?&YinHao&”?).*?\k&YinHao&[,}]?)/is’, ‘+: $2‘,$con );//若键名没有双引号则添加
return $con;
上面代码只是用了MP3和M4A的第一种接口
代码保存为php文件,调用/xxx.php?u=音乐ID&t=格式
例如001yJypt4E8GW0歌曲的m4a地址
/xxx.php?u=001yJypt4E8GW0&t=m4a
MP3和M4A的前三种接口只需要知道歌曲MID即可,但是M4A接口的第4种还需要vkey
vkey的获取只是多个步骤:
打开http:/ /base./fcgi-bin/fcg_musicexpress.fcg?json=3&guid=&g_tk=&loginUin=0&hostUin=0&format=jsonp&inCharset=GB2312&outCharset=GB2312?ice=0&platform=yqq&jsonpCallback=&needNewCode=0
jsonCallback({“code”:0,”sip”:[“,”,”] ,”thirdip”:[“, “],”key”: “AC783AC94FA37DB5BC3E28CEC35EE5F46AE0C1FAC4F7EA62F51A43;});
里面的key对应的值就是vkey
?↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓黑锐淘折扣重磅上线,快点击图片领取你的专属折扣!↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
转载请注明: &

参考资料

 

随机推荐