doupoa
一个不甘落后的热血青年!
Ping通途说

完美校园电费查询新接口请求原理解析

本文针对于WX端接口展开分析

某天发现之前给宿舍写的查电费软件不能用了。自己琢磨了两天,发现新接口不和之前一样抓到接口后直接请求就能用。这一次更新添加了身份验证的步骤。

(文章所包含本人信息等关键字符串在发布前均测试为失效)

直接说一下基本流程:

1. 用户使用WX浏览器获取用户code

2. 利用code获取openid及token

3. 使用openid及token获取正确session

4. 使用正确session请求电量数据

以上步骤在Fidder中如下图所示

https://doupoa.site/wp-content/uploads/2022/06/1654693630-image.png

大致讲解如下:

1. #1 行开始获取WX浏览器中WX用户code并赋值于 #2 行使用 (写文章时code过期啦)

2. #2 行将用户的code及token传送到服务器后请求 #3,在 #3 返回数据的请求头中包含下一步跳转的链接,该链接包含用户的openid及token。token实质为uuid,但其生成算法未知。若未正确请求该接口将会返回状态码200且提示错误,正确请求应为302跳转。

https://doupoa.site/wp-content/uploads/2022/06/1654694927-image.png

3. 请求 #3 的链接后,之后步骤必要参数session将会出现。未经过以上步骤操作使用正确的用户openid及token访问将会返回假session及200状态码。正确访问将302跳转至用户页面

https://doupoa.site/wp-content/uploads/2022/06/1654695282-image.png

 4.在后续请求中session起到关键作用,所有请求的请求头必须包含该session。与其相存在的是SERVERID。该id在每次请求后都会更新。需要注意的是,Referer也必须包含在请求头。

https://doupoa.site/wp-content/uploads/2022/06/1654695655-image.png

 总结:

微信code在一般自己写的请求脚本中很难获取,且请求中需要使用WX用户的openid,在一定程度上实现了实名请求,也更加难获取到真实的数据。

赞赏

doupoa

文章作者

诶嘿

发表回复

textsms
account_circle
email

Ping通途说

完美校园电费查询新接口请求原理解析
完美校园电费查询新接口请求原理解析
扫描二维码继续阅读
2022-06-08

Optimized by WPJAM Basic