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地址。【中间做数据处理的部分,就不详细讲了】
标签:请求,登录,CAS,Charles,获取,html,ticket,工时 来源: https://www.cnblogs.com/creamk87/p/14866636.html