33 lines
962 B
Python
33 lines
962 B
Python
import hashlib
|
|
import httpx
|
|
import pytz
|
|
import json
|
|
from datetime import datetime
|
|
from settings import KeychipID
|
|
|
|
def qr_api(qr_code: str):
|
|
if len(qr_code) > 64:
|
|
qr_code = qr_code[-64:]
|
|
time_stamp = datetime.now(pytz.timezone('Asia/Tokyo')).strftime("%y%m%d%H%M%S")
|
|
auth_key = hashlib.sha256(
|
|
(KeychipID + time_stamp + "XcW5FW4cPArBXEk4vzKz3CIrMuA5EVVW").encode("UTF-8")).hexdigest().upper()
|
|
param = {
|
|
"chipID": KeychipID,
|
|
"openGameID": "MAID",
|
|
"key": auth_key,
|
|
"qrCode": qr_code,
|
|
"timestamp": time_stamp
|
|
}
|
|
headers = {
|
|
"Contention": "Keep-Alive",
|
|
"Host": "ai.sys-all.cn",
|
|
"User-Agent": "WC_AIME_LIB"
|
|
}
|
|
res = httpx.post(
|
|
"http://ai.sys-allnet.cn/wc_aime/api/get_data",
|
|
data = json.dumps(param, separators=(',', ':')),
|
|
headers = headers
|
|
)
|
|
assert res.status_code == 200, "网络错误"
|
|
return json.loads(res.content)
|