CAS统一认证登录的工时系统,如果获取工时记录做统计?【Charles抓包+requests】

回顾一下之前做的小提醒工具,领导让统计下部门所有人的工时填写情况,并提醒发送至企业微信

思路:工时系统是公司自己写的,使用统一认证登录,自己的工号来登录,不知道谁写的,先用Chrome自带的抓包看下登录请求和数据获取的请求看看

查看到登录的所有异步请求中,并没有找到login相关的,所以后来就换了专用的抓包工具Charles来进行网络抓包


这里抓包过程中不知道的几个参数,在后来写代码的过程中发现必须填写,但是并不知道从哪里获取到的,后来查看了下网页的静态html页面发现了些端倪

登录成功后,响应数据的html内容中有 ticket=xxxxx 的内容,后面又使用这个ticket作为请求参数,去给工时管理发认证请求


认证完成后,进行了Cookies的设置

后续就带上Cookies给其他接口发消息,获取响应的数据


思路分析完成后,就是代码上的实现

1、导入相关使用到的模块,创建类,进行类的初始化属性设置

2、访问cas登录页面,获取html静态文本,获取html静态文本中lt的值

3、发起登录请求,获取登录成功后相应文本中的ticket的值

4、使用ticket值,进行向工时系统发请求,设置Cookies

5、给工时系统中其他接口发消息,获取工时列表信息

6、最后,就是讲获取到的工时列表信息处理统计后,将结果发给企业微信的webhook地址。【中间做数据处理的部分,就不详细讲了】

posted @ 2021-06-09 15:25  Hei蛋炒饭  阅读(132)  评论(0编辑  收藏  举报