mirror of
https://github.com/baiqwerdvd/StarRailUID.git
synced 2025-05-07 20:45:46 +08:00
🐛尝试修复验证码问题
This commit is contained in:
parent
4a29a02ad3
commit
d665eea99b
@ -1,5 +1,6 @@
|
|||||||
import copy
|
import copy
|
||||||
import time
|
import time
|
||||||
|
import uuid
|
||||||
import random
|
import random
|
||||||
from typing import Dict, Union, cast
|
from typing import Dict, Union, cast
|
||||||
from string import digits, ascii_letters
|
from string import digits, ascii_letters
|
||||||
@ -35,6 +36,21 @@ RECOGNIZE_SERVER = {
|
|||||||
|
|
||||||
|
|
||||||
class MysApi(_MysApi):
|
class MysApi(_MysApi):
|
||||||
|
mysVersion = '2.44.1'
|
||||||
|
_HEADER = {
|
||||||
|
'x-rpc-app_version': mysVersion,
|
||||||
|
'User-Agent': (
|
||||||
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) '
|
||||||
|
f'AppleWebKit/605.1.15 (KHTML, like Gecko) miHoYoBBS/{mysVersion}'
|
||||||
|
),
|
||||||
|
'x-rpc-client_type': '5',
|
||||||
|
'x-rpc-device_id': uuid.uuid4().hex,
|
||||||
|
'x-rpc-device_fp': random_hex(16),
|
||||||
|
'x-rpc-page': '3.1.3_#/rpg',
|
||||||
|
'Referer': 'https://webstatic.mihoyo.com/',
|
||||||
|
'Origin': 'https://webstatic.mihoyo.com',
|
||||||
|
}
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
super().__init__(*args, **kwargs)
|
super().__init__(*args, **kwargs)
|
||||||
|
|
||||||
@ -59,13 +75,17 @@ class MysApi(_MysApi):
|
|||||||
return data
|
return data
|
||||||
|
|
||||||
async def get_daily_data(self, uid: str) -> Union[DailyNoteData, int]:
|
async def get_daily_data(self, uid: str) -> Union[DailyNoteData, int]:
|
||||||
data = await self.simple_mys_req('STAR_RAIL_NOTE_URL', uid)
|
data = await self.simple_mys_req(
|
||||||
|
'STAR_RAIL_NOTE_URL', uid, header=self._HEADER
|
||||||
|
)
|
||||||
if isinstance(data, Dict):
|
if isinstance(data, Dict):
|
||||||
data = cast(DailyNoteData, data['data'])
|
data = cast(DailyNoteData, data['data'])
|
||||||
return data
|
return data
|
||||||
|
|
||||||
async def get_role_index(self, uid: str) -> Union[RoleIndex, int]:
|
async def get_role_index(self, uid: str) -> Union[RoleIndex, int]:
|
||||||
data = await self.simple_mys_req('STAR_RAIL_INDEX_URL', uid)
|
data = await self.simple_mys_req(
|
||||||
|
'STAR_RAIL_INDEX_URL', uid, header=self._HEADER
|
||||||
|
)
|
||||||
if isinstance(data, Dict):
|
if isinstance(data, Dict):
|
||||||
data = cast(RoleIndex, data['data'])
|
data = cast(RoleIndex, data['data'])
|
||||||
return data
|
return data
|
||||||
@ -118,6 +138,7 @@ class MysApi(_MysApi):
|
|||||||
'role_id': uid,
|
'role_id': uid,
|
||||||
'server': RECOGNIZE_SERVER.get(str(uid)[0], 'prod_gf_cn'),
|
'server': RECOGNIZE_SERVER.get(str(uid)[0], 'prod_gf_cn'),
|
||||||
},
|
},
|
||||||
|
header=self._HEADER,
|
||||||
)
|
)
|
||||||
if isinstance(data, Dict):
|
if isinstance(data, Dict):
|
||||||
data = cast(AvatarInfo, data['data'])
|
data = cast(AvatarInfo, data['data'])
|
||||||
@ -165,7 +186,7 @@ class MysApi(_MysApi):
|
|||||||
'region': 'prod_gf_cn',
|
'region': 'prod_gf_cn',
|
||||||
'uid': uid,
|
'uid': uid,
|
||||||
}
|
}
|
||||||
header = {}
|
header = self._HEADER
|
||||||
data = await self._mys_req_get(
|
data = await self._mys_req_get(
|
||||||
'STAR_RAIL_SIGN_INFO_URL', is_os, params, header
|
'STAR_RAIL_SIGN_INFO_URL', is_os, params, header
|
||||||
)
|
)
|
||||||
@ -242,7 +263,7 @@ class MysApi(_MysApi):
|
|||||||
self, sr_uid: str
|
self, sr_uid: str
|
||||||
) -> Union[RoleBasicInfo, int]:
|
) -> Union[RoleBasicInfo, int]:
|
||||||
data = await self.simple_mys_req(
|
data = await self.simple_mys_req(
|
||||||
'STAR_RAIL_ROLE_BASIC_INFO_URL', sr_uid
|
'STAR_RAIL_ROLE_BASIC_INFO_URL', sr_uid, header=self._HEADER
|
||||||
)
|
)
|
||||||
if isinstance(data, Dict):
|
if isinstance(data, Dict):
|
||||||
data = cast(RoleBasicInfo, data['data'])
|
data = cast(RoleBasicInfo, data['data'])
|
||||||
|
Loading…
x
Reference in New Issue
Block a user