探寻学校查询宿舍电费余量的API接口

发布于 2021-10-16 21:48

本文来自小亮的个站。

 

从这张图片可以看出,在这个部分有一个名为“SearchM10”的方法,其作用是访问/Home/GetRoomByRoomid目录,同时传入一个名为“fangjian”的参数。通过对源文件其他部分的分析,我们发现“fangjian”的值就是我们在查询框中输入的内容,即房间号。

于是我们很容易得到电费查询接口的地址:

http://192.168.244.213:9000/Home/GetRoomByRoomid?fangjian=FANGJIAN

假定我们要查询的房间号为1101102,那么本地址的“fangjian”参数就等于1101102,现在我们查看一下通过该接口返回的查询结果:

提交后这个网址返回一个Json数据包,看下里面包含的信息后基本可以确定这就是电费查询接口。下面我们看一下返回的数据包里都包含哪些信息。把Json数据包格式化后结果如下:

{    "AccList":null,    "roomList":[    {        "ZZS":0,        "ZZT":0,        "NUpdateTime":"2018-11-25 22:03:37",        "STATE"1,        "AREAID":null,        "AREA":null,        "A_CODE":null,        "A_POS_CODE":null,        "BUILDINGID"12,        "BUILDING":null,        "B_CODE":null,        "B_POS_CODE":null,        "ROOMID"774,        "ROOM":"1101102",        "R_CODE":null,        "R_POS_CODE":null,        "DEVICECODE":"068461",        "ZYDL":null,        "MFDL":null,        "CZDL":null,        "YYDL":null,        "SYDL":938.10,        "UPDATETIME":null    }],    "Saleinfos":[    {        "PATHCODE":"******学院-1舍-1层-1101102",        "unitprice":0.5,        "Total1":0,        "Total2":0,        "OrderID":null,        "PayType":1,        "BuyerType":null,        "BuyerID":"",        "SALEID":0,        "ROOMID":null,        "RECHARGE":2,        "PRICE":1,        "TYPE":1,        "PayWAY":1,        "MEMO":"完成",        "Asker":0,        "PutTime":"\/Date(-62135596800000)\/",        "STATE":null,        "AskTime":"\/Date(-62135596800000)\/",        "AskTime1":"2016/9/14 8:51:18",        "AskTime2":null    },/*上面是一次电费交易信息,后面还有几次信息,这里省略*/ ]    "CombineInfo":[],    "IsOK":true,    "Msg":null,    "Sno":null,    "Account":0,    "IdNo":null}

   

如果我们仅仅只是要实现查询电费余额的功能,上方的数据包中我们只需关心三个字段:roomList.0.ROOM、roomList.0.NUpdateTime、roomList.0.SYDL,这三个字段分别表示房间号、余额更新时间和剩余电量。接受到数据包并把对应数据提取出来,我们的查询工作就可以完成了。

那么,回到最初提出的问题:如何实现电量的自动查询?

在本地写一个脚本,然后设置任务计划,再按照刚才的思路就能获取到电量余额信息了,甚至我们可以接着编写脚本来实现低于余额最低阈值自动提醒功能,目前学校内这方面做得最好的机械娘的实现思路就是这个。通常学校的电表每天更新四次,所以我们可以把查询时间分别设置为早8点、中午13点、傍晚18点和晚上21点。

当然,完成这套查询工作的大前提是:学校电费管理服务器不崩……

本文来自网络或网友投稿,如有侵犯您的权益,请发邮件至:aisoutu@outlook.com 我们将第一时间删除。

相关素材