原理比较简单,是直接模拟春雨计步器往服务器提交请求,但操作起来稍微有点复杂。
相比于修改本地的步数的好处是不用考虑app本身上传步数的逻辑,
再也不怕步数不及时或者出现头一天的步数啦。
思考
前置准备
- 手机安装了春雨计步app,关注春雨计步器微信公众号,手机打开春雨计步app并与微信相关联
- 某设备已经安装好NinjaV4并成功运行。
假设其ip/端口为192.168.0.102:8888
Step 1. 获取相关参数
- 原理是通过代理拦截相关http请求,如果你确保已经获取到了参数,请参见Step 2.
- 具体步骤:
- 手机通过Wifi设置代理
192.168.0.102:8888
- 打开春雨计步app(可能会闪退,不过没关系)
- 手机取消Wifi代理
- 访问
http://192.168.0.102:8888/weixin
- 点击
打印相关url
,如果生效,应该会有一长串
以下为有效数据:
以下为空数据:
- (可选)卸载春雨计步app。该配置一次获取,一直有效。
- 手机通过Wifi设置代理
Step 2. 设置相关参数
- 如果你从Step 1来,并理解如何设置参数,该步骤可以选择性跳过
-
Step 1中的参数获取方法对于部署到ChinaMainland的机器
以及部分(apache/nginx)反代设置不当的机器均不适用。
因此,我们可能需要在局域网中的其它设备进行这一操作,再将之配置到第三方。
方法一讲述一种较为快捷的方法。 - Step 1中的参数只在程序运行时有效,重启后参数丢失。
方法二讲述如何永久保存。 - 方法一:
- 获取
refreshCookieUrl
和postStepUrl
,参见Step 1.5 - 复制refreshCookieUrl在问号?及之后的那一堆参数(包括问号)
- 先假设要设置的设备的NinjaV4的ip/端口为
123.123.123.123:8888
,且没有反代,没有Docker等容器,我们先访问它。
也就是,打开浏览器,访问http://123.123.123.123:8888/weixin
- 点击
通过代理拦截获取相关Url
- 在跳转页面的url后面补上复制的内容,大致会是下面这个样子,然后回车
http://123.123.123.123:8888/weixin/setParam?union_id=...&nickname=...&figure=......
- 获取
- 方法二:
- 获取
refreshCookieUrl
和postStepUrl
,参见Step 1.5 - 修改
config/app.config
文件,加入配置weixin_step_refreshCookieUrl = http://steps.chunyuyisheng.com/api/pedometer/contest_start/?...你懂的 weixin_step_postStepUrl = http://steps.chunyuyisheng.com/robot/p/upload_steps_data/?...你懂的
- 重启程序
- 获取
Step 3. 刷新cookie
- 具体步骤:
- 访问
http://192.168.0.102:8888/weixin
- 点击
延长cookie有效时长
- 访问
Step 4. 步数作弊
- 具体步骤:
- 访问
http://192.168.0.102:8888/weixin
- 在跳转页面的url补上step参数,假设作弊步数为33333步,补上
?step=33333
,回车
大致会是下面这个样子:http://192.168.0.102:8888/weixin/stepcount?step=33333
当返回页面显示如下,说明步数修改成功,快去微信运动看看吧。否则很可能cookie失效了哦。
{"err_msg": "", "success": true}
- 访问
注意事项
- 两次步数修改间隔不能过短,否则微信步数并不能及时更新。建议最小间隔30min
- 基于上一个事项,第一次使用时,Step 1.到Step 4.的过程如果不长,微信步数可能不会更新。
请在一段时间后,再次进行Step 4.