mihoyo-api-collect/other/authentication.md

100 lines
2.5 KiB
Markdown
Raw Normal View History

2023-01-20 06:50:37 +00:00
# 鉴权
2023-01-20 05:59:04 +00:00
2023-02-08 15:39:44 +00:00
- [请求头](#请求头)
- [米游社](#米游社)
- [Cookie](#cookie)
2023-01-20 06:50:37 +00:00
2023-02-08 15:39:44 +00:00
---
2023-01-20 06:50:37 +00:00
2023-02-08 15:39:44 +00:00
大多数API需要验证请求头。
部分API例如点赞文章、《原神》米游社签到、米游币等需要使用Cookie鉴权。
## 请求头
### 米游社
大多数API需要验证的请求头`x-rpc-app_version`、`x-rpc-client_type`、`x-rpc-device_id`、`X-Requested-With`、`Origin`、`Referer`、`Host`、`DS`、`User-Agent`。
2023-02-02 20:52:19 +00:00
2023-02-02 20:51:13 +00:00
少数API才需要验证的额外的请求头`x-rpc-page`、`x-rpc-challenge`。
2023-02-08 15:39:44 +00:00
可选请求头:`x-rpc-device_fp`、`x-rpc-device_name`、`x-rpc-device_model`、`x-rpc-sys_version`、`x-rpc-channel`。
#### `x-rpc-app_version`
#### `x-rpc-app_version`
米游社版本号,例如`2.44.1`。
与DS字段相关DS生成需要`salt`,而每个米游社版本的`salt`都不同。
因此1个米游社版本只能使用对应的1个`salt`用于生成DS。
#### `x-rpc-client_type`
APP为`2`或`5`,网页为`4`。
根据请求的API不同而变化。
将会在需要验证请求头的API进行标注。
与DS字段相关DS生成需要`salt`,而不同的`x-rpc-client_type`对应该版本米游社的`salt`也不同。
- `x-rpc-sys_version`可选安卓系统大版本版本号例如Android 13则为`13`。
- `x-rpc-channel`(可选):手机厂商,例如小米则为`xiaomi`。
- `x-rpc-device_name`可选手机厂商和手机型号例如小米11青春版则为`Xiaomi M2101K9C`。
- `x-rpc-device_model`(可选):手机型号。
#### `x-rpc-page`
少数API需要验证未知其规律。
`3.1.3_#/ys`
#### `X-Requested-With`
国内版APP为`com.mihoyo.hyperion`。
国际版APP为`com.mihoyo.hoyolab`。
#### `Origin`
请求网站的协议与主机名。
#### `Host`
请求的网站的主机名。
#### `Referer`
在哪个网页发起的请求。
2023-02-02 20:51:13 +00:00
一般情况下国内版APP为
2023-02-08 15:39:44 +00:00
若`x-rpc-client_type`为`5`,则`https://webstatic.mihoyo.com/`
若`x-rpc-client_type`为`2`,则`https://app.mihoyo.com`
2023-02-02 20:51:13 +00:00
国际版APP为
2023-02-08 15:39:44 +00:00
2023-02-02 20:51:13 +00:00
`https://webstatic-sea.hoyolab.com`
2023-01-20 06:50:37 +00:00
2023-02-08 15:39:44 +00:00
#### `User-Agent`
无需验证请求头或`x-rpc-client_type`为`2`的API不需要设置请求头。
但还是最好避免带有`python`等字样。
用户代理,为`Mozilla/5.0 (Linux; Android 13; M2101K9C Build/TKQ1.220829.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/108.0.5359.128 Mobile Safari/537.36 miHoYoBBS/米游社版本号`。
#### `DS`
2023-01-20 06:50:37 +00:00
DS值通过一系列算法得出。
2023-02-08 15:39:44 +00:00
## Cookie
2023-01-20 06:50:37 +00:00