返回提交历史
Modified
login/login_action/SMS.md
+13
-11
Modified
login/login_action/readme.md
+23
-17
XFEstudio/bilibili-API-collect
最新的短信登录接口 (#302)
c25a8f4
代码差异
2 个文件
+36
-28
@@ -3,8 +3,8 @@
3
3
web端短信登录流程:
4
4
5
5
1. [完成人机验证](readme.md)
6
2. 发送短信,使用国际地区代码`cid`+手机号码`tel`+登录密钥`key`+极验`challenge`+验证结果`validate`+验证结果`seccode`
7
3. 提交短信验证码以验证登录操作,使用国际地区代码`cid`+手机号码`tel`+短信验证码`smsCode`
6
2. 发送短信,使用国际地区代码`cid`+手机号码`tel`+登录密钥`token`+极验`challenge`+验证结果`validate`+验证结果`seccode`
7
3. 提交短信验证码以验证登录操作,使用国际地区代码`cid`+手机号码`tel`+短信验证码`code`
8
8
9
9
---
10
10
@@ -113,7 +113,8 @@ curl 'http://passport.bilibili.com/web/generic/country/list'
113
113
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
114
114
| --- | --- | --- | --- | --- |
115
115
| tel | num | 手机号码 | 必要 | |
116
| cid | num | 国际地区代码 | 必要 | |
116
| cid | num | 国际地区代码 | 必要 | |
117
| source | str | 固定为`main_web` | 必要 | |
117
118
| token | str | 在获取gt,challenge处url有 | 必要 | |
118
119
| challenge | str | 极验challenge | 必要 | 从B站API获取 |
119
120
| validate | str | 极验结果 | 必要 | 从极验获取 |
@@ -135,12 +136,11 @@ captcha_key在下方传参时需要,请备用.
135
136
例如手机号为`13888888888`,国际id为`1(中国大陆)`,登录秘钥为`aabbccdd`,极验challenge为`2333`,极验结果为`666666`,进行发送短信验证码操作
136
137
137
138
```shell
138
curl 'http://passport.bilibili.com/web/sms/general/v2/send' \
139
curl 'http://passport.bilibili.com/x/passport-login/web/sms/send' \
139
140
--data-urlencode 'tel=13888888888' \
140
141
--data-urlencode 'cid=1' \
142
--data-urlencode 'source=main_web' \
143
--data-urlencode 'token=aabbccdd' \
141
144
--data-urlencode 'challenge=2333' \
142
145
--data-urlencode 'validate=666666' \
143
146
--data-urlencode 'seccode=666666|jordan'
@@ -161,7 +161,7 @@ curl 'http://passport.bilibili.com/web/sms/general/v2/send' \
161
161
162
162
## 使用短信验证码登录(web端)
163
163
164
> http://passport.bilibili.com/x/passport-login/web/login/sms
164
> https://passport.bilibili.com/x/passport-login/web/login/sms
165
165
166
166
*请求方式:POST*
167
167
@@ -176,8 +176,9 @@ curl 'http://passport.bilibili.com/web/sms/general/v2/send' \
176
176
| cid | num | 国际地区代码 | 必要 | |
177
177
| tel | num | 手机号码 | 必要 | |
178
178
| code | num | 短信验证码 | 必要 | 超时时间为5min |
179
| source | str | 固定为`main_web` | 必要 | |
179
180
| captcha_key | str | 上方发送短信验证码时的一个参数 | 必要 | |
180
| goUrl | str | 跳转url | 非必要 | 默认为https://www.bilibili.com |
181
| go_url | str | 跳转url | 非必要 | 默认为https://www.bilibili.com |
181
182
| keep | str | 未知 | 非必要 | 默认为true |
182
183
183
184
@@ -204,10 +205,10 @@ curl 'http://passport.bilibili.com/web/sms/general/v2/send' \
204
205
使用手机号`13888888888`,短信验证码为`123456`,进行验证登录操作
205
206
206
207
```shell
207
curl 'https://passport.bilibili.com/web/login/rapid'
208
curl 'https://passport.bilibili.com/x/passport-login/web/login/sms'
208
209
--data-urlencode 'cid=1' \
209
210
--data-urlencode 'tel=13888888888' \
211
--data-urlencode 'code=123456'
210
212
```
211
213
212
214
<details>
@@ -244,6 +245,7 @@ Set-Cookie: DedeUserID=***; Domain=.bilibili.com; Expires=Sat, 18-Jul-2020 09:57
244
245
Set-Cookie: DedeUserID__ckMd5=***; Domain=.bilibili.com; Expires=Sat, 18-Jul-2020 09:57:57 GMT; Path=/
245
246
Set-Cookie: SESSDATA=***; Domain=.bilibili.com; Expires=Sat, 18-Jul-2020 09:57:57 GMT; Path=/; HttpOnly
246
247
Set-Cookie: bili_jct=***; Domain=.bilibili.com; Expires=Sat, 18-Jul-2020 09:57:57 GMT; Path=/
248
Set-Cookie: sid=***; Domain=.bilibili.com; Expires=Sat, 18-Jul-2020 09:57:57 GMT; Path=/
247
249
Expires: Mon, 13 Jul 2020 09:57:32 GMT
248
250
Cache-Control: no-cache
249
251
X-Cache-Webcdn: BYPASS from jd-sxhz-dx-w-01
@@ -19,7 +19,7 @@
19
19
20
20
### 申请验证码参数
21
21
22
> http://passport.bilibili.com/web/captcha/combine?plat=6
22
> https://passport.bilibili.com/x/passport-login/captcha?source=main_web
23
23
24
24
*请求方式:GET*
25
25
@@ -30,28 +30,30 @@
30
30
| 字段 | 类型 | 内容 | 备注 |
31
31
| ------ | ---- | -------- | --------- |
32
32
| code | num | 返回值 | 0:成功 |
33
| message | str | 返回信息 | |
34
| ttl | num | 1 | **作用尚不明确** |
33
35
| data | obj | 信息本体 | |
34
36
35
37
`data`对象:
36
38
37
39
| 字段 | 类型 | 内容 | 备注 |
38
40
| -------- | ----- | ------ | -------- |
39
| result | obj | 套了个娃 | |
40
| type | num | 1 | **作用尚不明确** |
41
| geetest | obj | 套了个娃 | |
42
| tencent | obj | 套了个娃 | **作用尚不明确** |
43
| token | str | 极验token | 与人机验证无关,与登录接口有关 |
44
| type | str | 验证方式 | 用于判断使用哪一种验证方式,目前所见只有极验 |
41
45
42
`result`对象:
46
`geetest`对象:
43
47
44
48
| 字段 | 类型 | 内容 | 备注 |
45
49
| -------- | ----- | ------ | -------- |
46
| success | num | 1 | **作用尚不明确** |
47
50
| gt | str | 极验id | 一般为固定值 |
48
51
| challenge | str | 极验KEY | 由B站后端产生用于人机验证 |
49
| key | str | 登录秘钥 | 与人机验证无关,与登录接口有关,但与极验KEY对应 |
50
52
51
53
**示例:**
52
54
53
55
```shell
54
curl 'https://passport.bilibili.com/web/captcha/combine?plat=6'
56
curl 'https://passport.bilibili.com/x/passport-login/captcha?source=main_web'
55
57
```
56
58
57
59
<details>
@@ -59,16 +61,20 @@ curl 'https://passport.bilibili.com/web/captcha/combine?plat=6'
59
61
60
62
```json
61
63
{
62
"code": 0,
63
"data": {
64
"result": {
65
"success": 1,
66
"gt": "bd111e81eda1cbb9f54425aafc0908ac",
67
"challenge": "2903a8eb967a1d990444cb23ea42f417",
68
"key": "76fb59fbd83a4d9d816162c5156fc964"
69
},
70
"type": 1
71
}
64
"code": 0,
65
"message": "0",
66
"ttl": 1,
67
"data": {
68
"type": "geetest",
69
"token": "00fbe75cc2864ba0af969231f193a974",
70
"geetest": {
71
"challenge": "a57d9be17505d4a15ed84694c48fbf74",
72
"gt": "ac597a4506fee079629df5d8b66dd4fe"
73
},
74
"tencent": {
75
"appid": ""
76
}
77
}
72
78
}
73
79
```
74
80