【原创源码】易语言POST开发的一个内网加班单填写教程
本帖最后由 xy6232415 于 2018-10-30 10:06 编辑为了避免非零基础人群感到身体不适、头晕恶心、易怒及粗口,请不要查看以下内容
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑请不要无视黄色提示
编程无非是为了解决某种问题而编写一段程序代码
简单的说,就是懒人创造奇迹。
最近在公司一直加班,无奈公司的OA使用的My97datepicker日期控件非常难用,不得已之下,蠢蠢欲动(说白了就是年底了,我要蹭加班)
好了。B话不多说,直接开搞。
公司OA填报的流程如下,登陆集团内网==》传递一个加密的Token登陆到OA==》切换菜单==》点击请假单填报==》填写一堆信息==》选择报送领导==》结束
再次吐槽这个鸡儿日期控件,不知道哪个程序员开发的,能设置下属性让我手输么?
然后你TM是否调休一个单选的事情,竟然给我window.open一波,我还以为多高大上,原来就是为了传一个是和否
重点是TM还不兼容谷歌内核!
这年头见过不兼容IE,不兼容火狐的,第一次看见做到不兼容谷歌内核的,
当时坐在电脑面前,思考了一会人生,恕我才疏学浅,当时就下面这个表情
第一步:登陆集团内网
第二步,直接使用F12控制台,找到NetWork抓取调用参数
第三步,编写易语言代码
传递用户名和密码过去,获取返回结果,如果跳转到Homepage.aspx则成功登陆,如果跳回Login.aspx那就是登陆失败。
在第三步遇到过一个问题,我的用户名可以直接传递中文,但是包含有生僻字的同事,却自动转码会错误,所以用户名处需要用到精易模块的一个方法,编码_URL编码
该方法代码如下
第四步:获取Key登陆OA
这一步需要审核元素,找到获取认证Key的地方,因为不是同一公司开发的网站,所以会有一次请求Key的操作。
获取到了Token和Token的时间戳
那么继续编写易语言代码
第五步:登陆到OA
这里用到了一个超文本跳转,因为我后面要利用这个去取一个OA的用户ID
第六步:重复第二步的操作,将加班单填好,将参数取出来,并复制到本地构造参数
伪造完成,等浏览器跳转完毕,再去取一次结果判断成功或者失败,并将这次的加班理由什么的全部记录下来,方便下次提交
至此,一套完整的简单POST就完成了。
后面就是逻辑调整了
什么判断是否周末(周末加班时间自动调整为9点至下午5点,工作日加班默认17点到21点,超过17点填报会自动计算当前时间并选中当前时间)
就不巴拉那么多了。
希望对你有点帮助。码字不易。评个分再走吧~
源代码包含加解密模块源代码和程序源代码。
chaohu 发表于 2018-10-30 10:46
第二步,直接使用F12控制台,找到NetWork抓取调用参数
这个工具是什么?
谷歌浏览器自带的开发者控制台,按F12可以调用,你可以用Fiddler之类的抓包 帖子编辑得好好的,不知道为什么会有两张图片变成了附件。影响不大,无视即可 强迫症患者,把中间填表部分想法子优化下,一路POST下去 很详细 值得学习 第二步,直接使用F12控制台,找到NetWork抓取调用参数
这个工具是什么? 小白路过,收货颇丰
感谢分享!!! 看看,思路不错,涨知识了 厉害,学习,我们也是OA的,可以借鉴,哈哈
页:
[1]
2