免费营销网站制作,广东建设工程备案网站,视频直播软件开发,网络营销企业案例分析虾米音乐网站上有很多高品质的音乐和精心组织的精选集#xff0c;但普通用户只能试听#xff0c;不能下载#xff0c;下载的话需要使用“米”#xff0c;这个“米”除了极少数的新手任务可以获得之外#xff0c;基本上都要靠付费来购买#xff0c;很多人没有网银或者没有… 虾米音乐网站上有很多高品质的音乐和精心组织的精选集但普通用户只能试听不能下载下载的话需要使用“米”这个“米”除了极少数的新手任务可以获得之外基本上都要靠付费来购买很多人没有网银或者没有银行卡支付相当不方便。对于普通用户既想把音乐放到手机或者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函数的作用可以忽略。然后前面再拼上虾米的网址http://www.xiami.com就得到一个url链接http://www.xiami.com/song/playlist/id/2562206/object_name/collect/object_id/11060023这么简单这就是歌曲链接No显然没那么容易我们把这个地址复制到浏览器访问一下看看返回什么内容 ?xml version1.0 encodingutf-8?
playlist version1 xmlnshttp://xspf.org/ns/0/trackListtracktitle![CDATA[Iris and Jasper]]/titlesong_id2562206/song_idalbum_id217126/album_idalbum_name![CDATA[The Holiday (Original Motion Picture Soundtrack)]]/album_nameobject_id11060023/object_idobject_namecollect/object_nameinsert_type1/insert_typebackground#eeeeee/backgroundgrade-1/gradeartist![CDATA[Hans Zimmer]]/artistlocation8h2xt622265tFi%%6%5_Et%a22%2643p2mFF252%5%Fi32F225.3f.51%%%EmA1n575552p%.e41EEE%3/locationmshttp://f1.xiami.net/mslyrichttp://www.xiami.com/song/lyrictxt/id/2562206/lyricpichttp://img.xiami.com/images/album/img46/35546/2171261295514339_1.jpg/pic/track/trackListtypecollect/typetype_id11060023/type_idclearlist/clearlist
/playlist 是一段xml看起来这才是歌曲的真正信息刚才的url就是用歌曲id等来请求歌曲信息的方法从xml里可以看到歌曲信息和播放背景歌词地址专辑图片等内容。那么歌曲的下载地址到底在哪里呢xml里并没有歌曲的url。仔细看xml有个location看着很可疑看起来是一段加密过的内容怎么解密呢这段解密代码在js里是找不到。 但是找不到如何破解呢不用担心网上已经有相应的破解方法地址http://www.winhex32.com/xiami/ 把location里的那段加密后的字符串复制到输入框里输入验证码点击尝试解码ok看到了吗完整的mp3下载链接就出来了直接复制到浏览器或者迅雷里下载吧 上了的不算分析的分析就讲完了我们再来回顾一下该过程 1.打开一个歌曲的页面查看源文件 2.ctrlf打开搜索框输入“play(”不包括引号就可以找到每一首歌曲的play函数记下函数的几个参数。 3.根据上面提到的规则http://www.xiami.com/song/playlist/id/第一个参数/object_name/第二个参数/object_id/第三个参数得到歌曲信息的获取路径比如http://www.xiami.com/song/playlist/id/2562206/object_name/collect/object_id/11060023用浏览器打开这个路径得到一段xml文本内容。 4.把xml里的location段里的加密内容复制打开www.winhex32.com/xiami粘贴进去输入验证码解密就可以得到mp3文件的下载路径了。 对于这个Location内部的解密算法如果大家有兴趣以后再继续发帖分析。 本博文仅供技术交流请勿用于商业目的否则后果自负。如果有兴趣的话欢迎跟帖讨论。 转载于:https://www.cnblogs.com/pkuoliver/archive/2012/05/09/crack-xiami-music.html