https://www.newrank.cn/
先登录找请求参数
![](https://i-blog.csdnimg.cn/blog_migrate/1b14f9c5277616edaf2fd306d946167b.png)
找加密参数
![](https://i-blog.csdnimg.cn/blog_migrate/7a91d2b31cad24b62e2052d62816863e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d93264e5c5383fea00e9010f1c548664.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9681c1d07e12ead134f4070d7e46cea4.png)
能用 Python 重写的就用Python重写
import random
import math
import requests
import time
import execjs
def nonce_get():
a = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"]
for i in range(500):
c = ''
for x in range(9):
e = math.floor(16 * random.random())
c += a[e]
return c
def user_login(n,p):
# 获取 nonce 值
nonce= nonce_get()
# flag 值
flag = str(time.time()).replace('.','')[:13] + str(random.random())
username = n
passwd = p
# password 值
jm = execjs.compile(open('jm.js','r').read())
password = jm.call('b',passwd)
password = jm.call('b',password+'daddy')
# xyz 值
xyz_str = "/xdnphb/login/new/usernameLogin?AppKey=joker&flag={}&identifyCode=&password={}&username={}&nonce={}".format(flag,password,username,nonce)
xyz = jm.call('b',xyz_str)
data = {
'flag':flag,
'identifyCode':'',
'password': password,
'username': username,
'nonce': nonce,
'xyz': xyz
}
url = 'https://www.newrank.cn/xdnphb/login/new/usernameLogin'
print(data)
s = requests.Session()
html = s.p