网易云音乐新API简述

Web

新API采用了略微修改过的AES和RSA加密,主要用在登陆接口上,对新API进行简单的分析。

Url

估计会抓包的人都知道,Url中的api便成了weapi。比如手机登录:
原来是:http://music.163.com/api/login/cellphone/
现在是:http://music.163.com/weapi/login/cellphone/

加密算法

核心过程如下:

1
2
3
4
5
6
7
aesRsaEncrypt = function (text, pubKey, modulus, nonce) {
const secKey = createSecretKey(16); // 随机生成16位加密密钥
return {
params: aesEncrypt(aesEncrypt(text, nonce), secKey),
encSecKey: rsaEncrypt(secKey, pubKey, modulus)
}
}

JS DOM API分析

Web

Element.classList

返回DOMTokenList,IE version>=10不完全支持。

  1. 不支持classList.contains的第二个参数(force)
  2. add和remove方法不支持多参数
  3. SVG,MathML结点没有classList属性