非vip用户下载虾米音乐的方法
        虾米音乐网站上有很多高品质的音乐和精心组织的精选集,但普通用户只能试听,不能下载,下载的话需要使用mp3歌曲怎么下载,这个除了极少数的新手任务可以获得之外,基本上都要靠付费来购买,很多人没有网银或者没有银行卡,支付相当不方便。对于普通用户,既想把音乐放到手机或者mp3里欣赏,又不愿反复折腾的话,如何到下载链接把歌曲下载下来呢?让我们来研究一下虾米音乐网站的代码逻辑。
打开一个精选集:
 
        我们来看一下这个网页的源码,到第一首歌曲Iris and Jasper –Hans Zimmer部分的html代码,搜索Iris andJasper即可:
 吕燕儿子
        html的可以看看,其实也不需要理解,这段代码大体上看来点击试听的时候,调用了一个js函数play,参数有三个,很明显第一个是歌曲id,后面两个不知道是做什么用,但这没有什么影响,我们来继续看看play函数的代码:
 
        这段js代码非常简单,懂点程序的人都能看出来,最后的结果就是:/song/playlist/id/+第一个参数+/object_name/+第二个参数+/object_id/+第三个参数,
第一个参数是百分百有的,第二个如果不存在,则为default,第三个如果不存在,则为青岛 旅行社0。因为没有特殊字符,所以那个escape函数的作用可以忽略。然后前面再拼上虾米的网址www.xiami就得到一个蔡康永url链接:www.xiami/song/playlist/id/2562206/object_name/collect/object_id/11060023,这么简单?这就是歌曲链接?No,显然没那么容易,我们把这个地址复制到浏览器访问一下看看返回什么内容:
 
兰草价格
        是一段xml,看起来这才是歌曲的真正信息,刚才的url就是用歌曲id等来请求歌曲信息的方法,从xml里可以看到歌曲信息和播放背景歌词地址专辑图片等内容。那么歌曲的下载地址到底在哪里呢?xml里并没有歌曲的url。仔细看xml,有个location看着很可疑,看起来是一段加密过的内容,怎么解密呢?这段解密代码在js里不到。不用担心,网上已经有现成的解密方法了,浏览器打开www.winhex32/xiami/
 
        location里的那段加密后的字符串复制到输入框里,输入验证码,点击尝试解码,ok,看到了吗?完整的mp3下载链接就出来了,直接复制到浏览器或者迅雷里下载吧~~
 
梨花又开放 韩红
总结一下不懂技术的话,大体上怎么操作:
1.打开一个歌曲的页面,查看源文件
2.ctrl+f打开搜索框,输入“play(”,不包括引号,就可以到每一首歌曲的play函数,记下函数的几个参数。
3.根据上面提到的规则,www.xiami/song/playlist/id/+第一个参数+/object_name/+第二个参数+/object_id/+第三个参数,得到歌曲信息的获取路径,比如www.xiami/song/playlist/id/2562206/object_name/collect/object_id/11060023,用浏览器打开这个路径,得到一段xml文本内容。
4.xml里的location段里的加密内容复制,打开www.winhex32/xiami,粘贴进去,输入验证码解密,就可以得到mp3文件的下载路径了。
 
这个解密算法,以后有空再分析。