AI 摘要

2022/5/25更新: 新增了米游社获取mmt以及登录api 米游社查询玩家信息的API包括获取玩家基本信息、角色武器和圣遗物、深渊数据以及mmt。登录米游社时需要使用RSA加密后的密码和极验相关信息。HoYoLab提供的查询玩家信息的API也涵盖了获取基本信息、角色资料等,需要使用与米游社不同的DS加密方式。
2022/5/25更新: 新增了米游社获取mmt以及登录api

米游社

请求头

请求头名 说明 可能的值
x-rpc-app_version 米游社版本号 2.11.1
x-rpc-client_type 客户端类型(IOS/Android) 5
Cookie 米游社Cookie,可以通过电脑登录米游社获取 any
DS 生成方式如下
Referer Referer https://webstatic.mihoyo.com/
User-Agent Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) miHoYoBBS/2.11.1)

DS加密方式

#python实现
def generate_cn_ds(body: Any = None, query: Mapping[str, Any] = None) -> str:
    '''
    Body: POST请求
    query: GET请求
    '''
    t = int(time.time())
    r = random.randint(100001, 200000)
    b = json.dumps(body) if body else 
    q = &.join(f{k}={v} for k, v in sorted(query.items())) if query else 
    h = hashlib.md5(fsalt={CN_DS_SALT}&t={t}&r={r}&b={b}&q={q}.encode()).hexdigest()
    return f{t},{r},{h}

API

米游社ID查询玩家信息

GET https://api-takumi-record.mihoyo.com/game_record/app/card/wapi/getGameRecordCard

传入字段 说明
uid 米游社ID any

UID查询玩家基本信息

GET https://api-takumi-record.mihoyo.com/game_record/app/genshin/api/index

传入字段 说明
role_id 玩家UID any
server 玩家所在服务器 cn_gf01/cn_qd01

获取角色武器和圣遗物

POST https://api-takumi-record.mihoyo.com/game_record/app/genshin/api/character

传入字段 说明
role_id 玩家UID any
server 玩家所在服务器 cn_gf01/cn_qd01

获取当期和上期深渊数据

GET https://api-takumi-record.mihoyo.com/game_record/app/genshin/api/spiralAbyss

传入字段 说明
role_id 玩家UID any
server 玩家所在服务器 cn_gf01/cn_qd01
schedule_type 请求类型 1为当期,2为上期

获取mmt

GET https://webapi.account.mihoyo.com/Api/create_mmt

传入字段 说明
scene_type 未知 1
now 时间戳 当前时间戳
t 时间戳 当前时间戳
reason 来源地址 可以填“user.mihoyo.com%23%2Flogin%2Fcaptcha”

传入数据注意: 返回数据下的data.mmt_data有极验challenge、gt和mmt_key, 在下文的的登陆中需要,但是不需要生成DS

登录米游社

POST https://api-takumi.mihoyo.com/account/auth/api/webLoginByPassword

传入字段 说明
account 账号 any
password 密码 RSA加密后密码
mmt_key mmt_key mmt_key
is_bh2 是否为崩坏2 false
is_crypto 是否加密 true
geetest_challenge 极验challenge 极验challenge
geetest_validate 极验validate 极验validate
geetest_seccode 极验seccode geetest_validate+
token_type 未知 填‘6’

RSA公钥

-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDDvekdPMHN3AYhm/vktJT+YJr7\ncI5DcsNKqdsx5DZX0gDuWFuIjzdwButrIYPNmRJ1G8ybDIF7oDW2eEpm5sMbL9zs\n9ExXCdvqrn51qELbqj0XxtMTIpaCHFSI50PfPpTFV9Xt/hmyVwokoOXFlAEgCn+Q\nCgGs52bFoYMtyi+xEQIDAQAB\n-----END PUBLIC KEY-----

登录完成后便会设置cookie,返回值内有该账户信息

HoYoLab

请求头

请求头名 说明 可能的值
x-rpc-app_version HoYoLab版本号 1.5.0
x-rpc-client_type 客户端类型(IOS/Android) 4
Cookie 米游社Cookie,可以通过电脑登录HoYoLab获取 any
DS 生成方式如下
Referer Referer https://webstatic-sea.mihoyo.com/
User-Agent Mozilla/5.0 (X11; Linux x86_64; rv:89.0) Gecko/20100101 Firefox/89.0

请求头#### DS加密方式

def generate_ds() -> str:
    t = int(time.time())
    r = .join(random.choices(string.ascii_letters, k=6))
    h = hashlib.md5(fsalt={OS_DS_SALT}&t={t}&r={r}.encode()).hexdigest()
    return f{t},{r},{h}

API

HoYoLab ID查询玩家信息

GET https://bbs-api-os.hoyolab.com/game_record/card/wapi/getGameRecordCard

传入字段 说明
uid 米游社ID any

UID查询玩家基本信息

GET https://bbs-api-os.hoyolab.com/game_record/genshin/api/index

传入字段 说明
role_id 玩家UID any
server 玩家所在服务器 os_asia/os_euro/os_usa/os_cht

获取角色武器和圣遗物

POST https://bbs-api-os.hoyolab.com/game_record/genshin/api/character

传入字段 说明
role_id 玩家UID any
server 玩家所在服务器 os_asia/os_euro/os_usa/os_cht

获取当期和上期深渊数据

GET https://bbs-api-os.hoyolab.com/game_record/genshin/api/spiralAbyss

传入字段 说明
role_id 玩家UID any
server 玩家所在服务器 os_asia/os_euro/os_usa/os_cht
schedule_type 请求类型 1为当期,2为上期

它可以干什么呢?

它可以用来做反云玩家的小工具

像我,拿清明节三天假期做了个这个

exe打包下载: https://pan.loliurl.club/s/LPHR

[github author="heartalborada-del" project="genshin-player-query"][/github]

又或是这个

/

/

间歇性发奋图强,持续性混吃等死
最后更新于 2024-05-04