# 用户注册
## 人机验证
[完成人机验证(参考验证登录)](../login/login_action/readme.md#验证登录)
完成后得到`key`, `challenge`, `validate`, `seccode`四个参数
## 发送短信验证码
[发送短信验证码(参考短信登录)](../login/login_action/SMS.md#发送短信验证码(web端))
**注意不同的是这里type=1而非21**,推测此参数决定短信内容
```bash
curl 'https://passport.bilibili.com/web/sms/general/v2/send' \
--data-urlencode 'key=6eeb28e7bbd64b389da2be3a2778c7e3' \
--data-urlencode 'captchaType=6' \
--data-urlencode 'type=1' \
--data-urlencode 'cid=1' \
--data-urlencode 'tel=13888888888' \
--data-urlencode 'challenge=c52148f88a28b6011db52bb213483ee8' \
--data-urlencode 'validate=a98841cd6ea58e1b1f5783fca73cddb6' \
--data-urlencode 'seccode=a98841cd6ea58e1b1f5783fca73cddb6|jordan'
```
查看示例
```json
{
"code": 0,
"message": "验证码短信已下发"
}
```
## 提交注册请求
> https://passport.bilibili.com/web/reg/tel
*请求方式:POST*
**正文参数( application/x-www-form-urlencoded ):**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| -------- | ---- | ---------------- | ------ | ------------------------------------------------------------ |
| cid | num | 国际冠字码 | 必要 | 可以从 [获取国际冠字码](../login/login_action/SMS.md#获取国际冠字码_web端) 接口中获取 |
| tel | num | 手机号码 | 必要 | |
| code | num | 短信验证码 | 必要 | |
| nickName | str | 昵称 | 必要 | |
| pwd | str | 密码 | 必要 | 密码为明文 |
| plat | num | 0 | 必要 | 平台? |
| gourl | str | 注册成功跳转地址 | 非必要 | 默认为主页`https://www.bilibili.com/` |
**json回复:**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ----------------------------------------------- |
| code | num | 返回值 | 0:成功
1005:验证码错误
1007:验证码过期 |
| message | str | 错误信息 | 成功时无此字段 |
| data | obj | 信息本体 | 只在成功时存在 |
`data`对象:
| 字段 | 类型 | 内容 | 备注 |
| ------------ | ---- | ---------- | ----------------------------- |
| redirectUrl | str | 跳转链接 | |
| hint | str | "注册成功" | 成功后不提示成功还能提示什么? |
| in_reg_audit | num | (?) | |
```bash
curl 'https://passport.bilibili.com/web/reg/tel' \
--data-urlencode 'plat=0' \
--data-urlencode 'cid=1' \
--data-urlencode 'tel=13888888888' \
--data-urlencode 'code=121314' \
--data-urlencode 'nickName=萌系小妹纸わ'
--data-urlencode 'pwd=Password1234' \
--data-urlencode 'gourl=https://www.bilibili.com'
```
查看示例
```json
{
"code": 0,
"data": {
"redirectUrl": "https://www.bilibili.com",
"hint": "注册成功",
"in_reg_audit": 0
}
}
```