客户端版的网易云音乐下载是需要vip的,网页版的虽然可以通过调试工具找到下载链接,但是用起来不是很方便,通过调试工具观察请求发现请求参数都是加密的,比如搜索歌曲的请求参数:
这个加密的实现肯定是写在js中,于是在index页面中找到引用的js文件
在这个js文件中搜索请求中的参数名称:encSecKey,只有三处,很快就能定位到加密方法window.asrsea:
调试该方法可以发现搜索的字符串位于第一个参数中(i5n),后面三个参数都常量,从名称来看,用到的了AES、RSA加密,asrsea方法如下所示:
上图中a方法为得到长度为a的随机字符串,b方法AES加密(iv为0102030405060708),c方法为RSA加密
代码:
目前版本是通过第三方API实现的歌曲搜索和url链接获取(https://api.imjad.cn/cloudmusic.md)
后面有时间再通过自己实现asrsea方法直接请求网易云音乐的接口