运动世界校园刷跑步记录脚本
- 最近学校犯傻,提出了一个一学期跑100公里的目标,而且要用运动世界校园来记录跑步数据。 *
把app下下来的第一晚,我就成功写了一个刷跑步纪录的脚本,所以我写下这篇博客来记录我是怎么写出来的。
首先,因为这个app是iOS应用,所以我用Replica抓包。我骑着车子跑了一圈(雾),用Replica记录下了整个过程中客户端与服务器进行的数据交换。结果令我很惊讶,这个app完全是用json来进行数据交换,并且不做任何加密。
其次,我尝试用curl来访问app调用的api,结果收到的返回信息是headers没有Authorization。于是我从Replica把客户端发送请求的headers抄下来,加入到python脚本中。值得注意的是,headers里面又一个uid用来声明用户信息,除此之外可能只有一些加密码的检验。
然后,我开始用python来写这个脚本。只用了requests库,发送的json数据是按照抓到的包来写的。然后就向api POST这些数据。开始的时候一直失败,我以为是我的数据点没有写的锅,后来才发现应该修改startTime和stopTime才行。再后来我发现即使没有跑步经过的点也可以成功上传,只要complete的值为True就可以了。
鉴于阿里巴巴月饼门,这里就不提供完整代码了。
Comments