Open forchannot opened 2 years ago
我用你的脚本直接跑不会自动生成json文件,我去手动创建空白文件后handled_follow_list.json,sign_list.json,sign_result.json也都不会写入数据,nodejs跑好像签不了,估计是有验证码
其中request_params.json里面长这样 row_follow_list.json长这样
你是不是安卓的?把函数这里的 User-Agent 改成你抓包拿到的 User-Agent
def test_get_follow_list(cookie):
headers = {
'Accept': '*/*',
'Host': 'api.weibo.cn',
'Accept-Encoding': 'gzip, deflate, br',
'User-Agent': 'WeiboOverseas/4.4.1 (iPhone; iOS 14.7.1; Scale/3.00)',
'Accept-Language': 'zh-Hans-CN;q=1, en-CN;q=0.9',
}
debug模式cardlistINFO里面没有信息
我试试
依然不行
首先还是说明下版本问题: python 版本你可以理解为为了云函数定制的,为了避免云函数单次运行时长限制会需要多次运行 nodejs 版本是为了青龙的运行定制的,一次性签到所有函数 其次我也跑了一遍本地测试,你的请求参数里比我的多出来了两个参数, 不知道是为什么,把他们删了试试
我把多余的参数删了也不行,多余的参数是抓包就有的,我抓包得到的请求头是这样的,你看有帮助吗
我用js版本本地跑了下试试,显示这个但并没有签到成功
我用js版本本地跑了下试试,显示这个但并没有签到成功
Node 版本也别忘了该 User-Agent,我估计 debug 打断点这里的 cardlist 还是客户端校验失败
- 你的响应是什么?或者你尝试抓签到某个超话的包,关键词应该是 button
- 现在重放请求的话也能得到相同的响应吗?
- 抓包软件重放请求能得到正确结果的话尝试把 test 运行过程中涉及网络请求的所有参数都改成和你抓到的包的参数一致,然后继续进行测试
这是我抓签到一个超话的包,手动签到过程中触发了验证码,目前看来是geetest验证码。至于重写和重放我不是很会用,不知道该怎么用
这个是抓签到的包的响应
这样就算是重发成功了吧,里面也有请求和响应和之前一样的
我发现了,脚本没有把c参数写进去,我把c参数自己写进去然后把请求头全部换成自己的能返回正常信息但是签到依然是失败估计验证码,而且time.clock()在python3.8后不在支持,我全部改为了time.perf_counter()。至于脚本为什么没写入c参数我不清楚,我的url是包含了c参数的
按照上一条回复执行后是这样的,就是签到不成功,看来号不行,有无考虑加入geetest验证的破解呢?
那和账号关系比较大,geetest验证因为没遇到过,也没法测试,暂时搞不定 或者考虑试试这个方法 基于Chrome插件的微博超话自动签到
必须得手动过一次geetest验证,只要手动过了所有脚本都能签到,但是没过任何脚本都没用,就很烦
目前能想到的就三种
插件不行,电脑会提示异常,只有手机才能过验证
那还是试试脚本精灵吧,好不好用就不知道了,我也没试过
编辑,使用test文件出现如下信息
刚抓的新鲜的,但是并没有签到