虾米音乐外链+php解析破解

2014-08-24 分类:闲聊 阅读(22977) 评论(20)

此文详细谈谈虾米网的音乐外链和php解析吧(是详细的谈谈←_←)

1.最早我发现虾米网的音乐链接是直链,例如:http://f1.xiami.net/2018/300034/3320521_235587.mp3

2.后来(可能是去年吧)又发现链接形式变了,例如:http://m1.file.xiami.com/1/18/2018/300034/3320521_235587_l.mp3

3.再后来可能太多人盗链虾米的音乐链接来用,虾米音乐链接加上了auth_key(大概是“识别密钥”的意思吧),auth_key是随机给出的一串密钥,在一定的时间内auth_key会失效的,例如:

http://m5.file.xiami.com/1/18/2018/300034/3320521_235587_l.mp3?auth_key=1fccaf129d3b828bd762f21466881410-1408924800-0-null

(综上所述,如是要用这个音乐链接怎么办,于是网络上各种大神根据虾米音乐的api给出了php,js,python等版本的音乐外链解析)

4.直到现在虾米音乐链接直接全加密了,且虾米音乐的api也多次变动,这样一些解析就会失效了,例如:
8h2fmF2%5258%kc368-2EltFii1F2EF273ecb2814-lt%l.%2F%31_Fya8f148%p2ec2%353_la%f224%%5%F.oF5%E22.u3181155E3mxm1E53%3mtD2b4%EE-A5i%81E455ph19d658%n%.a2%8%%E53_fd76E95u
5.下面说一下这串加密的url是怎么得来的,当然是虾米的api,下面我就列出几个还未失效的虾米api:

http://www.xiami.com/song/playlist/id/3320521
http://www.xiami.com/song/playlist/id/3320521/object_id/0/cat/json
http://www.xiami.com/widget/xml-single/sid/3320521
http://www.xiami.com/widget/json-single/sid/3320521

以上这四种api分为两种,一是xml的格式,另一种是json的格式。至于上面api中的3320521这串数字是什么意思又是怎么的来的,当你在虾米网点开一首歌的时候浏览器里面的url会显示例如http://www.xiami.com/song/3320521这样的单曲页面,而3320521正式这首歌曲的id编号。

说到这对于一个新手来说很有价值,对于一个高手来说,废话很多。下面就介绍一下怎么获取虾米网的音乐链接吧

6.解析虾米解密音乐链接:

首先是这串加密链接的算法:

8h2fmF2%5258%kc368-2EltFii1F2EF273ecb2814-lt%l.%2F%31_Fya8f148%p2ec2%353_la%f224%%5%F.oF5%E22.u3181155E3mxm1E53%3mtD2b4%EE-A5i%81E455ph19d658%n%.a2%8%%E53_fd76E95u

用类似于凯撒方阵把链接的第一个数字去掉然后前两行分为21个字符,后六行分为20个字符排列:
h2fmF2%5258%kc368-2El
tFii1F2EF273ecb2814-l
t%l.%2F%31_Fya8f148%
p2ec2%353_la%f224%%5
%F.oF5%E22.u3181155E
3mxm1E53%3mtD2b4%EE-
A5i%81E455ph19d658%n
%.a2%8%%E53_fd76E95u

细心的人会发现从左边开始竖着往下拼起来类似于音乐链接了:http%3A%2F%2Fm5.file.xiami.com%2F1%2F18%2F2%5E18%2F3%5E%5E%5E34%2F332%5E521_235587_l.mp3%3Fauth_key%3D1fccaf129d3b828bd762f2146688141%5E-14%5E89248%5E%5E-%5E-null

看到这你还不明白吗?把这条链接UrlDecode解码一下得到:http://m5.file.xiami.com/1/18/2^18/3^^^34/332^521_235587_l.mp3?auth_key=1fccaf129d3b828bd762f2146688141^-14^89248^^-^-null

然后把^字符替换成0得到:

http://m5.file.xiami.com/1/18/2018/300034/3320521_235587_l.mp3?auth_key=1fccaf129d3b828bd762f21466881410-1408924800-0-null

这就是解析加密后的连接了

7.php解析虾米解密音乐链接:

<?php
//方法来自网络
ERROR_REPORTING(0);
$id= $_GET["id"];
$content=file_get_contents('http://www.xiami.com/widget/xml-single/sid/'.$id[1]); //获取组合地址内容
preg_match("/<\!\[CDATA\[([^\]].*)\]\]><\/location>/i",$content,$location);//匹配location内容
$xiami=ipcxiami($location[1]); //转码得到正确的地址
header('Content-Type:application/force-download'); //强制下载
header("Location:".$xiami);
function ipcxiami($location){
$count = (int)substr($location, 0, 1);
$url = substr($location, 1);
$line = floor(strlen($url) / $count);
$loc_5 = strlen($url) % $count;
$loc_6 = array();
$loc_7 = 0;
$loc_8 = '';
$loc_9 = '';
$loc_10 = '';
while ($loc_7 < $loc_5){
$loc_6[$loc_7] = substr($url, ($line+1)*$loc_7, $line+1);
$loc_7++;
}
$loc_7 = $loc_5;
while($loc_7 < $count){
$loc_6[$loc_7] = substr($url, $line * ($loc_7 - $loc_5) + ($line + 1) * $loc_5, $line);
$loc_7++;
}
$loc_7 = 0;
while ($loc_7 < strlen($loc_6[0])){
$loc_10 = 0;
while ($loc_10 < count($loc_6)){
$loc_8 .= @$loc_6[$loc_10][$loc_7];
$loc_10++;
}
$loc_7++;
}
$loc_9 = str_replace('^', 0, urldecode($loc_8));
return $loc_9;
}
?>

把以上的内容存放成php文本(注意编码),例如xiami.php放在服务器上后调用方法是xiami.php?id=

还有一个版本来自于我的友链包同学的这篇虾米php解析,相信他对虾米音乐外链也有着独到的见解

若文章对你有用点个喜欢吧~

标签: ,

您可能也喜欢:

你好,2018!

2018这个新的一年我怀揣着当初的热情打开了这个网站,却发现怎么也找不到当初的热情了,那个时候的我们一起折腾到深夜,新的程序写出来我们都兴奋的睡不着觉,那个时候的我们无忧无虑,爱折腾。现在的我们忙碌着各自的生活,都忙着如何在当今的社会生存下去,都忙着给爱人打拼一个更舒适的生活环境。 如今偶尔打开网站...

more

台湾旅游之路

决定去台湾8日游玩,放松一下心情。中国的好多地方都去过了,这次决定去国民党的地方闯一闯,说不定我会写个:xxx到此一游。哈哈哈,多么缺德的行为啊。 话不多说,经过构思,我连夜把微博页面搞好了http://azfashao.com/weibo/ 微博页面暂时就这样吧,日后想到添加其它的功能再加上去 这...

more

可能要忙上几天了

这几天事情太多,可能会忙上几天,偶尔看下回复。我相信不用多久我就会回来。 ...

more

欢迎新朋友你的到来!
已经有20 条评论抢在你前面了~
昵称
邮箱
网站

  1. we cant stop

    好文章,我说怎么就找不到突破点,原来是这样

    #1
    回复
    • xyayy
      发烧爱 官方 回复

      @yeye.tv 能嗅到mp3的链接,但是链接有防盗链,无法直接使用

    • xyayy
      发烧爱 官方 回复

      @yeye.tv 只能用php解析虾米mp3地址来调用

  2. 刚哥笔记

    好像又失效了,虾米一直不断在与黑客抗争。

    #3
    回复
  3. pang

    感谢有这么好的介绍。

    #4
    回复
  4. Gumi

    来看看,之前的鬼梦上不去了,我找了好久才找到这

    #6
    回复
      • Golmic 回复

        @爱在发烧 还好啊~ 这个主题没有做响应式呀 ,家里网刚刚坏了。手机流量来回复一下。再能来到你的站有种说不出的感觉,之前一次次手敲ageme.info无果,尽是失落。想起当初,从音乐外链吧找到你,就又过去啦,还好还好你就被这么找到了,来到了这~ 我会常来的

  5. xyayy
    爱在发烧 官方

    永远相信下一秒是幸福的~每日打卡,打卡时间:下午1:22:18

    #7
    回复
  6. Fox-jimmy

    看看,虽然外链都用七牛,然后现在懒到直接传自己服务器.(ーー゛)

    #8
    回复
  7. 包子

    我是来看隐藏部分的,没有就拉黑

    #9
    回复
  8. ivkeji

    真开心吖。大神又回来了

    #10
    回复
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

切换登录

注册

    - 00:00 / 00:00