用户注册

人机验证

完成人机验证(参考验证登录)

完成后得到key, challenge, validate, seccode四个参数

发送短信验证码

发送短信验证码(参考短信登录)

注意不同的是这里type=1而非21,推测此参数决定短信内容

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'
查看示例
{
    "code": 0,
    "message": "验证码短信已下发"
}

提交注册请求

https://passport.bilibili.com/web/reg/tel

请求方式:POST

正文参数( application/x-www-form-urlencoded ):

参数名类型内容必要性备注
cidnum国际冠字码必要可以从 获取国际冠字码 接口中获取
telnum手机号码必要
codenum短信验证码必要
nickNamestr昵称必要
pwdstr密码必要密码为明文
platnum0必要平台?
gourlstr注册成功跳转地址非必要默认为主页https://www.bilibili.com/

json回复:

根对象:

字段类型内容备注
codenum返回值0:成功
1005:验证码错误
1007:验证码过期
messagestr错误信息成功时无此字段
dataobj信息本体只在成功时存在

data对象:

字段类型内容备注
redirectUrlstr跳转链接
hintstr"注册成功"成功后不提示成功还能提示什么?
in_reg_auditnum(?)
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'
查看示例
{
    "code": 0,
    "data": {
        "redirectUrl": "https://www.bilibili.com",
        "hint": "注册成功",
        "in_reg_audit": 0
    }
}