Closed gitiray closed 2 years ago
deviceId 和 androidId 可以从抓包中获取, 配置好uid就不会改变 代码中是随机生成的,需要更改掉 多账号的微博积分任务还不支持
模拟设备信息用虚拟机vmos,抓包获取sign或frida手动设置值调试计算sign
uid是根据deviceId、androidId参数游客登录获取的,sign是根据uid加密生成
账户登录https://api.weibo.cn/2/account/login
,需要使用游客登录后的信息进行登录,操作在游客基础上还要增加,还有一些参数校验算法不能还原,无法实现
cardlist需要使用登录获取的gsid、aid,参数有效期有时间限制
您可能没有完全理解我的意思,微博访问请求的数据包里有个header是 Authorization
,那个应该就是登录状态的 Cookie
直接在手机上用微博客户端登录,然后抓这个cookie来使用,所以不存在访问 /account/login
的过程,Cookie失效之后重新抓取填入就好
在实际抓包过程中,已登录的帐号也不再有 /account/login
相关的请求。
获取微博任务积分接口cardlist检验的是gsid、aid、s参数, 请求头Authorization不校验,登录状态判断是根据gsid、aid
那好吧,明白您的意思了
我再看看模拟设备
目前 wbsign 用的是 guestLogin 模式,我有抓到
sign
和uid
,但放到云函数运行之后,就是一个新设备了,回复数据包里uid
完全变了,sign
自然也不可能匹配,导致一直不能完成这个任务。 我也尝试了模拟device_id
和android_id
但是一直不成功,uid
还是原来的。经研究,我发现使用不同的微博帐号可以分别给一个手机号完成积分任务。 无需考虑同一设备的问题,不需要模拟。 相比之下,每个手机号都注册一个微博帐号的难度要低很多。
所以如果能够提供登录用户模式(非游客)就太好了。 根据我的抓包来看,应该只要提供
uid
s
authorization
就可以了,都在https://api.weibo.cn/2/cardlist
这一条里。