更新:2021年6月18日
原题:FreeWater--方便同学的小项目 2021年6月18日做出更改
相关文章
项目概述
西农学生宿舍里的直饮水机,以前接水刷卡即可,现在学校跟支付宝合作,使用企鹅共享,接水时需要扫码,再点击解锁,再按下机器上的按钮,才能出水,十分繁琐。本项目将扫码并点击手机中”解锁”按钮这一步进行简化,在app中点击一个按钮便可完成。
项目内容
于是我对扫码解锁进行了抓包,发现解锁机器只用提交两个数据,machineFunctionId
和 token
,请求地址为 https://userapi.qiekj.com/machine/water/unlock
machineFunctionId是机器的id,token是每个支付宝用户登录企鹅共享生成的token,下一次登录时token会更新,抓到token后不再去登录企鹅共享则该token可一直使用。
该项目后台主要是php提交post,此处感谢π的技术支持。起初只是为了自己方便,而现在2021年6月9日17:19:52
该项目已经覆盖29*2台机器(冷热)
该项目核心php文件:
1 |
|
安卓用户通过app向water.php传入参数,传入的参数代表一台机器,后端通过检索机器找到机器id,再提交post请求,达到一键解锁效果
ios用户可手动配置快捷指令,以达到语音解锁(Siri),或一键解锁
如传入machine=4n1e-ice
(4北校1楼东侧冷水),php则在xxx.txt
中找到对应id为202009041308369270000010955664458
,再将id和token一起向https://userapi.qiekj.com/machine/water/unlock
提交post请求,返回值为:
1 | { |
表示解锁成功,值得注意的是,该token代表我的支付宝账户(实现每个人都使用自己的token我不会。。。。),故用户接水花的是我的钱,目前稳定在平均每天10元左右,项目得以继续并不是因为我是土豪,而是因为有各位用户的捐赠,但还是有白嫖用户,故预计后期将上线用户系统,限制白嫖用户的使用。
项目新内容
飞鱼发现了企鹅共享的网页版: https://h5.qiekj.com 在该网页中可以使用手机号及验证码登录,随后我进行抓包内容如下:
发送验证码
请求地址:https://useraoi.qiekj.com/common/sms/sendCode
post参数:phone=手机号&template=reg
返回值:
1 | { |
表示验证码发送成功
登录
请求地址:https://useraoi.qiekj.com/user/reg
post参数:channel=h5&phone=手机号&verify=验证码
返回值:
1 | { |
表示登录成功,在这里我们就获取到了token,故重构了前面提到的php,新加传入参数token
则用户可使用自己的账户接水
1 | $Token=$_GET['token']; |
获取用户信息
请求地址:https://useraoi.qiekj.com/user/info
post参数:token=xxxxxxxxxxxx
返回值:
1 | { |
标识获取成功,并返回相应信息
更新
1 | (2021-06-18 00:44) 2.1 beta 1.0.1修复上版冷水按钮的问题 |
2021年6月18日
的更新实现了使用自己的账户登录,并新增了用户协议,协议地址:用户服务协议和隐私政策