客户端版的网易云音乐下载是需要vip的,网页版的虽然可以通过调试工具找到下载链接,但是用起来不是很方便,通过调试工具观察请求发现请求参数都是加密的,比如搜索歌曲的请求参数:

这个加密的实现肯定是写在js中,于是在index页面中找到引用的js文件

在这个js文件中搜索请求中的参数名称:encSecKey,只有三处,很快就能定位到加密方法window.asrsea:

调试该方法可以发现搜索的字符串位于第一个参数中(i5n),后面三个参数都常量,从名称来看,用到的了AES、RSA加密,asrsea方法如下所示:

上图中a方法为得到长度为a的随机字符串,b方法AES加密(iv为0102030405060708),c方法为RSA加密

 

代码:https://github.com/xienb/Music163.git

目前版本是通过第三方API实现的歌曲搜索和url链接获取(https://api.imjad.cn/cloudmusic.md)

后面有时间再通过自己实现asrsea方法直接请求网易云音乐的接口

 

posted on 2019-02-20 17:14  二豆  阅读(252)  评论(1编辑  收藏  举报