Open 12monkey12 opened 1 year ago
可以尝试查看 https://ivan.hanloth.cn/index.php/archives/530/ 进行编写
emm,可是每次通过api来登录都会需要验证手机,很麻烦。 而网页端直接登录则不会,除非短时间内登录多次。
我猜测主要原因是: 通过api发起的登录是用服务器地址进行的登录,一般而言属于异地登录,所以需要验证手机。 网页端登录一般是在常用登陆地,所以不需要验证
我猜测主要原因是: 通过api发起的登录是用服务器地址进行的登录,一般而言属于异地登录,所以需要验证手机。 网页端登录一般是在常用登陆地,所以不需要验证
可是我发送请求和我正常登录b站的电脑是同一台呀,IP地址是一样的。
你可以试试将正常登录的电脑上的cookie清空再登录,看看会不会验证 我猜测使用B站提供的注销登录的话,似乎会在本地留下登录痕迹从而避免重复验证
你可以试试将正常登录的电脑上的cookie清空再登录,看看会不会验证 我猜测使用B站提供的注销登录的话,似乎会在本地留下登录痕迹从而避免重复验证
可以正常登录的呀。 我已经把cookie清空并禁用了,在网页登录依旧不需要验证码。
可以正常登录的呀。 我已经把cookie清空并禁用了,在网页登录依旧不需要验证码。
那就不知道了,也许登录api有些限制 不排除存在一些前置api检查登录环境的可能性 如果觉得比较麻烦可以直接通过官网登录来获取cookie
这个返回结果就是因为少了请求头
如果请求头齐全的话,是直接返回access_token的
这个返回结果就是因为少了请求头
方便说下详细字段?
return await fetch(https://passport.bilibili.com/x/passport-login/oauth2/login
, {
method: "POST",
redirect: "follow",
headers: {
"Host": "passport.bilibili.com",
"Fp_local": "7502a5a97a136a331e6de92445e1d73b202405261152412a63577be6d6b0fb98",
"Fp_remote": "7502a5a97a136a331e6de92445e1d73b202405261152412a63577be6d6b0fb98",
"Session_id": "adafb459",
"Guestid": "23084900291443",
"Buvid": "XY662D167D42D2CA56514685FD62A63F2A27F",
"Env": "prod",
"App-Key": "android64",
"User-Agent": "Mozilla/5.0 BiliDroid/7.79.0 (bbcallen@gmail.com) os/android model/LYA-AL10 ,mobi_app/android build/7790400 channel/bili innerVer/7790410 osVer/9 network/2",
"X-Bili-Trace-Id": "200668e8ce5a227e83232415a0665434:83232415a0665434:0:0",
"X-Bili-Aurora-Eid": "",
"X-Bili-Mid": "",
"X-Bili-Aurora-Zone": "",
"X-Bili-Gaia-Vtoken": "",
"Content-Type": "application/x-www-form-urlencoded; charset=utf-8",
"Accept-Encoding": "gzip, deflate",
},
body: metaData.params + &sign=${metaData.sign}
有一些是不必要的,没有去测,短时间内发这个请求多次会要求短信验证
{ code: 0, message: '0', ttl: 1, data: { status: 3, message: '', url: 'https://passport.bilibili.com/h5-app/passport/risk/verify?tmp_token=&stat_event=1&redirect_type=login&scene=deviceVerify', token_info: null, cookie_info: null, sso: null, is_new: false, is_tourist: false } }
see #700
{"code":0,"message":"0","ttl":1,"data":{"status":2,"message":"本次登录环境存在风险, 需使用手机号进行验证或绑定","url":"https://passport.bilibili.com/h5-app/passport/risk/verify?tmp_token=ee5f081bce6fd53f2102addc9c57f1c2&request_id=447736c3729740b3802024570866f881&source=risk","refresh_token":"","timestamp":0}}
code 为 0,但是 data 字段中的 status 字段为 2,且 message 字段报错,登录失败