腾讯微云音乐外链解析源码

时间:2013-09-29 | 分类:个人日志,学习园地 | 浏览:30903 | 评论:60 | 发表评论

最近有人问怎么解析微云的音乐外链,于是我花了点时间看了一下。
音乐分享地址:http://share.weiyun.com/37b92875f407f6d595c6eab92792d41a
查看网页源码,源码里面没有音乐的下载地址,只有一个加密过的地址dl_encrypt_url。
用firebug调试了下,发现js的解密函数太麻烦,所以放弃另寻他法。

先用firefox的插件User Agent Switcher伪装成手机浏览器:

然后再访问页面,可以发现微云的手机版网页源码里有下载地址:

<a class="ui-btn-open" href="http://sync.box.qq.com/share_dl.fcg?sharekey=37b92875f407f6d595c6eab92792d41a&uin=1989052999&skey=&fid=0ef59818-982c-42e6-96ef-85460737055c&dir=&pdir=478a8e765ccd740aa7b6436361a4fccb&zn=%E5%A4%A9%E4%B9%8B%E7%97%95%E5%A6%82%E5%BF%86%E7%8E%89%E5%84%BF%E6%9B%B2.mp3&os_info=iphone&browser=webkit&ver=11">打 开</a>

于是匹配出这个地址并跳转,发现不成功。
复制这个地址在浏览器中打开,会发现网页返回403错误,禁止访问:

但是在微云网页里点击下载按钮后,会打开这个地址下载音乐。
根据上面的信息可以推断出,服务器判断了下载地址的来路referer。
于是用curl伪造来路访问下载地址,就不会出现403错误了。
但是curl不能跳转,而音乐外链需要跳转才能实现。

用firebug监控网页请求,发现打开下载地址后,会跳转到真实的音乐地址:

那么可以从下载地址的响应头信息里匹配出Location的地址。

把下面的代码保存为weiyun.php文件,放在网站根目录:

<?php
//最后更新时间:2013-12-12
//构造微云分享地址
preg_match('|\/.+\/(\w+)\.|', $_SERVER['REQUEST_URI'], $res);
$key = $res ? $res[1] : exit("Url format error!");
$url = $referer = "http://share.weiyun.com/$key";

//获取源码,匹配出下载地址
$src = curl_get_contents($url, "");
preg_match('|shareInfo = (.*);|Ui', $src, $res);
$json = $res ? json_decode($res[1]) : exit("Can not get shareInfo!");

//拼接歌曲链接
$songurl = implode("", array(
    "http://".$json->dl_svr_host,
    ":".$json->dl_svr_port,
    "/ftn_handler",
    "/".$json->dl_encrypt_url,
    "?fname=".urlencode($json->filename),
));
header("Location: $songurl");

//用curl获取网页源码
function curl_get_contents($url, $referer) {
    $curl = curl_init($url);
    curl_setopt($curl, CURLOPT_HEADER, 1);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_REFERER, $referer);
    curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us)");
    curl_setopt($curl, CURLOPT_TIMEOUT, 10);
    $src = curl_exec($curl);
    curl_close($curl);
    return $src;
}
?>

如果分享地址为:
http://share.weiyun.com/37b92875f407f6d595c6eab92792d41a
则外链地址为:
//www.poboke.com/weiyun.php/37b92875f407f6d595c6eab92792d41a.mp3

音乐外链试听:
http://poboke.duapp.com/weiyun/37b92875f407f6d595c6eab92792d41a.mp3

.

标签: ,
本文链接: 腾讯微云音乐外链解析源码
版权所有: 破博客, 转载请注明本文出处。

60个评论

  1. QQ419429714
    2013/11/12 18:43:58

    腾讯微云解析+ 百度云解析 出现问题 都和谐了 很多了 可以连接 但不稳定 或是连接一两次就有问题 特别cmp 播放器 或是.m3u 播放 都有问题 而且 百度云出现验证码 每次下载 。

  2. 盘龙大侠
    2013/11/10 20:36:10

    请问一下,我的firefox使用User Agent Switcher插件,怎么就没效果呢,虽然useragent变了,但是显示的网页还是pc版的
    用其他浏览器修改伪装的useragent也是没效果
    总之就是用电脑的浏览器伪装不成手机的浏览器

    • admin
      2013/11/10 23:47:30

      你可以用modify headers插件试试,如果能使用上面的微云外链代码就说明是你操作错误了。

  3. QQ419429714
    2013/11/06 01:12:42

    :?: 腾讯微云和百度云的解析源码要是可以解析 有访问密码的 +转换html 那就好了

  4. 爱龙音乐社区
    2013/10/30 11:37:33

    怎么没有自动转换的代码呀


  5. 2013/10/28 10:09:16

    不知道是否适用于其它的格式,比如mp4

  6. QQ419429714
    2013/10/19 23:01:27

    :razz: url重写 还分什么php版本吗 百度的5.2.5好使 可是 腾讯的 5.3.不好使源码

    • admin
      2013/10/20 14:01:01

      没用过腾讯的

      • QQ419429714
        2013/10/21 21:20:57

        :razz: 腾讯开发者 创建三个应用 赠600元 认证后1000元 总共1600元

  7. QQ419429714
    2013/10/17 22:38:14

    :razz: 除了百度开发者的配置-规则 还有 腾讯开发者的 和.htaccess 写什么 谢谢.

  8. pang
    2013/10/17 19:21:51

    :neutral: 360也搞定了

  9. pang
    2013/10/17 17:56:10

    :evil: 太好了~ 又有搞头咯

  10. QQ419429714
    2013/10/12 05:00:32

    腾讯微云音乐外链解析源码 这个源码有问题 在本地php服务器 127.0.0.1/weiyun.php/a49c67d6b807ee0de204130e1a675857.flv 好使
    在盛大云 百度开发 腾讯开发者 以及各种php空间 都不好使 相关很多屏蔽禁止里面一个代码 出现 404 403错误 直接转发到一个页面 如 exit(“Can not get song url!”);

  11. 白兔
    2013/10/10 00:02:07

    :mad: 请问博主可不可以像度盘那样 写个转换的JS出来呢 菜鸟不会!

  12. VI劈
    2013/10/08 05:25:34

    你这也太牛了 外链地址永久?在+上视频外链啊 我改了一个自动转换外链的html文件。舒服

  13. 针织衫
    2013/10/07 12:50:05

    这个不错 学习了~

  14. 点点滴滴
    2013/10/05 15:28:09

    专业的程序员写出来的代码就是简洁

  15. 李云滨
    2013/10/05 06:22:13

    我到伪造来路那就挂了,因为我对响应头还是很迷糊。

    • 李云滨
      2013/10/05 06:29:51

      shareInfo里面貌似可以把地址拼装出来。

    • 李云滨
      2013/10/05 06:23:27

      这段代码貌似让我理解了响应头的一部分。

  16. 欧阳运崖
    2013/10/02 09:54:29

    :sad: 好激动终于出现了 转载架设中

  17. karry
    2013/10/01 20:08:53

    :eek: :eek: 多谢分享 转载了

  18. 好厉害的样子
    2013/09/30 11:42:38

    博主的技术这么牛,很好奇博主从事什么行业的?

  19. 匿名
    2013/09/30 10:55:09

    感觉好高深的样子……另外,音乐很好听!

  20. tian
    2013/09/30 00:31:46

    厉害!厉害!比我的精简!

评论分页: 1 2

发表评论

您的昵称: *

您的邮箱: * (显示gravatar头像)

联系方式: