网易云音乐api_嘉艺流行音乐_流行音乐歌词大全

  由于最近比较清闲,所以来研究下网易云音乐   看了其他音乐的api,原以为最麻烦的是TX的,没想到却是网易云的。   所以下面给出网易云的api流程,希望可以帮到道友。   首先说下搜索,打开主页搜索一个歌曲,如搜索大海   F12 可以很明显的看到   1.post发送   2.url里面没有数据,能找到这,估计早就已经了解了,他的数据在params和encSecKey   那么下面就说明下这个params和encSecKey里面的内容   首先 params:   根据网易云音乐API分析(附C#版教程源码) - 只为小站的流程,我追到了这里   我说明下几个值的含义   1.那个i是个随机数 16位的 用来生成AES(CBC)加密   2.那个01020304050607是AES加密的偏移IV   3.那个d是加密前的串   {"hlpretag":"","hlposttag":"","s":"大海","type":"1","offset":"0","total":"true","limit":"30","csrf_token":""}   这样就很容易看懂了吧,total表示是否是第一次   limit表示返回多少   offset表示偏移数量 也就是第几页*limit   s 就是内容 这里注意不要格式化成百分号直接传汉字   从上面应该也已经知道了,这个加密就是AES加密两次   第一次密码是固定值:0CoJUm6Qyw8W8jud   第二次密码是随机数 我这次是 9cxqkYv1WsSmRWZ1   在线AES加密解密、AES在线加密解密、AES encryption and decryption使用AES加密   配置如下图   CBC pkcs7 密码和偏移在上面 编码一定要选择utf8不然不一样   这里都可以看出来 加密结果跟网页上的一样了   然后进行第二次加密(好像大图会看不清楚,所以我尽量截取的小一点)   第二轮记得写那个随机值作为密码   这里也能看到跟浏览器的一样   然后说encSecKey   这个呢 其实就是一个验证,是用来解密刚刚那个随机数的。所以这个key和随机数是一一对应的。不然服务器怎么知道你上面的那个串第二次使用的什么数字   所以记住一个就够用了。使用的rsa 有兴趣的自己摸索吧,我这用不到 哈哈。   这里的串是   96082b986b9f636e80c4de5868d9798cd4f5008d09d19c39c21817d36b3df39719a9c6d367e249eedba216ce536e839265edc6e1cc5486db3f9545e5c560f329476cf9bb962a3ef63c4ae48c08df1aac1244f056aa1a356becc10bd475bd95b80442d17515070f50b7730d43c9db00a151a0d530786d336767df354ab9189e50   返回值是json 刚刚的limit是30 所以返回了30个   至于url的拼接就简单了   https://music.163.com/weapi/cloudsearch/get/web?csrf_token=¶ms=MtS5wM1%2Bmp%2F4tgXuJWzGT9vH9jVa0XfYXkmxE552cHaP6yGj27YWkvocI5I5xtKdWYZMXCxOizD4udP4BdTkY%2BjJi8dyj5aqPznXg7SdpKEQBPcw1Vw%2BWu9oW5CfsYVAKsFc8lhUEFirOxZNj%2Bd56UQ6oGUlSk2%2FGkieBm1CMrEw0XkrUoKLOrFn5V3fsB4py3T%2BCRCC3LqPQ%2BJUuOuOKy2k4AERk0vMClGsTerZWC3O478kL82YxRk9otzgWC9v8ugUQHPlpbeL556x1HJo%2Fw%3D%3D&encSecKey=96082b986b9f636e80c4de5868d9798cd4f5008d09d19c39c21817d36b3df39719a9c6d367e249eedba216ce536e839265edc6e1cc5486db3f9545e5c560f329476cf9bb962a3ef63c4ae48c08df1aac1244f056aa1a356becc10bd475bd95b80442d17515070f50b7730d43c9db00a151a0d530786d336767df354ab9189e50   只有用post 访问才可以。   未完待续。。。   下面还需要做的是获取歌曲播放url   歌词获取的url   再次感谢这位大神网页解析。   网易云音乐API分析(附C#版教程源码) - 只为小站第二天了,继续昨天没完成的   播放url :   百度了好久,以前的都不能用了,最终找到了这个,就是不知道能坚持多久了   http://music.163.com/api/song/enhance/player/url?id=85580&ids=[85580]&br=3200000   id和ids都写上面获取的那个id   返回是json   {"data":[{"id":85580,"url":"http://m10.music.126.net/20180727131055/a6214204392c946bda3e7530e30467c7/ymusic/ed62/ce1e/9bec/34b619c75813bc0dd97fc84520476838.mp3","br":128000,"size":3920501,"md5":"34b619c75813bc0dd97fc84520476838","code":200,"expi":1200,"type":"mp3","gain":-3.58,"fee":8,"uf":null,"payed":0,"flag":0,"canExtend":false}],"code":200}   这就很明显了直接用就可以了大小播放啥都有了   歌词:   http://music.163.com/api/song/lyric?os=pc&id=85580&lv=-1&kv=-1&tv=-1   很明显 有一个id 后面的lv kv tv   应该lv是获取普通的歌词   kv是那种带着时间戳的很详细的歌词 类似(0,606)忘(0,305)了(0,459)有(0,661)多(0,1624)久   lv应该是翻译的歌词   到这里就可以很轻松的完成一个音乐播放器了。   最后,如果有需要C++版本的AES_CBC加密的,请关注并私聊我。要求不高,伸手党,至少点个关注吧。
发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章