import
json
import
requests
import
subprocess
from
functools
import
partial
subprocess.Popen
=
partial(subprocess.Popen, encoding
=
"utf-8"
)
import
execjs
base_url
=
"数据接口,自行填写"
username
=
input
(
"请输入您的账号:"
)
password
=
input
(
"请输入您的密码:"
)
with
open
(
"password.js"
, encoding
=
"utf-8"
) as f:
jscode
=
f.read()
js
=
execjs.
compile
(jscode)
password_encryption
=
js.call(
"login"
, username, password)
print
(password_encryption)
form_data
=
{
"userName"
: username,
"password"
: password_encryption
}
with
open
(
"demo.js"
, encoding
=
"utf-8"
) as f:
jscode
=
f.read()
js
=
execjs.
compile
(jscode)
result
=
js.call(
"run"
)
print
(result)
Csm
=
result[
0
][
'sign'
]
Cst
=
result[
0
][
'time'
]
print
(Csm,Cst)
headers
=
{
"accept"
:
"application/json, text/plain, */*"
,
"accept-encoding"
:
"gzip, deflate, br, zstd"
,
"accept-language"
:
"zh-CN,zh;q=0.9"
,
"cache-control"
:
"no-cache"
,
"connection"
:
"keep-alive"
,
"content-length"
:
"60"
,
"content-type"
:
"application/x-www-form-urlencoded"
,
"csm"
: Csm,
"cst"
:
str
(Cst),
"host"
:
"m.ctyun.cn"
,
"origin"
:
"。。。"
,
"pragma"
:
"no-cache"
,
"referer"
:
"。。。"
,
"sec-ch-ua"
:
"\"Google Chrome\";v=\"131\", \"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\""
,
"sec-ch-ua-mobile"
:
"?0"
,
"sec-ch-ua-platform"
:
"\"Windows\""
,
"sec-fetch-dest"
:
"empty"
,
"sec-fetch-mode"
:
"cors"
,
"sec-fetch-site"
:
"same-origin"
,
"user-agent"
:
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
,
"x-riskdevicesign"
:
"50b8ae96f222fd0f2879125bc5fc6e08"
,
}
params
=
{
"referrer"
:
"wap"
,
"mainVersion"
:
"300031500"
,
"comParam_curTime"
: result[
1
],
"comParam_seqCode"
: result[
2
],
"comParam_signature"
: result[
3
],
"isCheck"
:
True
,
"locale"
:
"zh-cn"
}
print
(params)
res
=
requests.post(base_url, headers
=
headers, params
=
params, data
=
form_data)
user_data
=
res.text
user_data
=
json.loads(user_data)
print
(json.dumps(user_data,indent
=
4
, ensure_ascii
=
False
))