标签:代码 EAP def pre agent params 模拟 非对称加密 turn
from Crypto.Cipher import AES # 非对称加密
import rsa # 对成加密
import execjs # PyExecJs可以使用Python模拟运行js代码
import base64
import requests
first_param = ‘{ids: "[1481657185]", br: 128000, csrf_token: ""}‘
seconed_param = "010001"
third_param = "00e0b509f6259df8642dbc35662901477df22677ec152b5ff68ace615bb7b725152b3ab17a876aea8a5aa76d2e417629ec4ee341f56135fccf695280104e0312ecbda92557c93870114af6c9d05c4f7f0c3685b7a46bee255932575cce10b424d813cfe4875d3e82047b97ddef52741d546b8e289dc6935b3ece0462db0a22b8e7"
four_param = "0CoJUm6Qyw8W8jud"
iv = "0102030405060708"
# p = execjs.compile(‘‘‘function r(e) {
# var t, n, r = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789", o = "";
# for (t = 0; e > t; t += 1)
# n = Math.random() * r.length,
# n = Math.floor(n),
# o += r.charAt(n);
# return o
# }‘‘‘)
# res = p.call(‘r‘, 16)
res = "iCTVFitOvyTUbpj2"
def AES_encrypt(mes, key):
if len(mes) % 16 != 0:
mes += (16 - len(mes) % 16) * chr(16 - len(mes) % 16)
fun_encrypt = AES.new(key.encode(‘utf-8‘), AES.MODE_CBC, iv.encode(‘utf-8‘))
return base64.b64encode(fun_encrypt.encrypt(mes.encode(‘utf-8‘))).decode(‘utf-8‘)
# return fun_encrypt.encrypt(mes.encode(‘utf-8‘))
def RSA_encrypt(mes):
pub, priv = rsa.newkeys(131)
return rsa.encrypt(mes.encode(‘utf-8‘),pub)
def get_params():
params = {}
params[‘params‘] = AES_encrypt(AES_encrypt(first_param, four_param), res)
# params[‘params‘] = AES_encrypt(first_param, four_param)
params[‘encSecKey‘] = ‘34947ea467ba7cf43d11ec28e2bb02521a4d2ae21d92526cb1029d2e30d9b5ded84c2ec7c7532520f9ec597dfdea3ac3e74b6a39189c379c3f13626e475ad77daed1e35c5f2de908a7c01e57916b86e0bfa94a6565332437a4b559ad442f2a10d3ce86418bd19988b8c16b7f8805e2f9e6f0a4053abf84b8377eca07108c100c‘
print(params)
return params
base_url = ‘https://music.163.com/weapi/song/enhance/player/url‘
headers = {
‘user-agent‘: ‘Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36‘,
‘origin‘: ‘https://music.163.com‘
}
if __name__ == ‘__main__‘:
data = get_params()
response = requests.post(base_url, headers=headers, data=data)
print(response.json())
标签:代码 EAP def pre agent params 模拟 非对称加密 turn
原文地址:https://www.cnblogs.com/childheart/p/14238323.html