前言:当代大学生每天必须做的一件事我想会有健康打卡吧,有时候忘记打卡还会被@来@去,于我而言,每天都是在学校,位置并没有变,自动打卡可以完全交给程序去完成啦~以下程序是在贵州师范大学实现,如果是其他学校,方法也差不多噢,接定制~
注意:本脚本仅供学习交流,请勿用于非法操作,建议在下载24小时后删除,由此脚本发生的问题均与本站无关。
本站提供实现原理步骤以及配合腾讯云云函数实现自动签到.
抓包
打卡无非就是向服务器提交某些信息和数据,只要捕获到所需的参数,使用编程模拟向服务器发送数据就可以实现成功打卡。
所以第一步就是抓包。因为打卡是在微信里面打,为了方便,我这里使用的是手机抓包工具 点我下载抓包精灵,按照教程配置好后点击开始,右上角选择抓取微信的,接着打开微信到打卡界面如下
点击打卡后回到抓包软件。搜索daka
代码实现
<?php //author 龙辉 // qq:1790716272 header("Content-type: text/html; charset=utf-8"); date_default_timezone_set("PRC"); $token = '这里替换你的token';//这里填写token=后面的值 $postdata='{ "healthStatus":"健康", "suspectedDate":null, "patientDate":null, "isHot":false, "temperature":37, "isInHospital":"否", "hospital":null, "isolated":false, "isolatedMode":null, "isolatedAddress":null, "isolatedReason":null, "isolatedStartDate":null, "isolatedEndDate":null, "locationLatitude":"26.38743", "locationLongitude":"106.63461", "isOut":false, "locationCountry":"国内", "locationProvince":"贵州省", "locationCity":"贵阳市", "locationArea":"花溪区", "locationDetail":"二号路", "hasTravel":false, "travelReason":null, "travelFromDate":null, "travelFromPlace":null, "travelArrivalDate":null, "travelArrivalPlace":null, "travelMode":null, "travelComment":null, "hasTouchPatient":false, "hasOutHistory":false, "hasChumHot":false, "hasGoHighRiskArea":false, "hasTouchPersonFromHighRiskArea":false, "notes":"", "locationDescription":"贵州省贵阳市花溪区二号路" }'; $result = xCurl('http://daka.wecampus.gznu.edu.cn:80/server/api/baseRecord/add?jwtToken='.$token,'',$postdata); if(json_decode($result,true)['success']==true) { echo '今日健康打卡成功'."\n".'当前时间:'.date('Y-m-d H:i:s', time()); } else { echo '今日打卡失败,请检查'; } function xCurl($url,$cookie=null,$postdata=null,$header=array()){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); if (!is_null($postdata)) curl_setopt($ch, CURLOPT_POSTFIELDS,$postdata); if (!is_null($cookie)) curl_setopt($ch, CURLOPT_COOKIE,$cookie); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json; charset=utf-8', 'Content-Length:'.strlen($postdata) ) ); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_ENCODING, "gzip"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 2); $re = curl_exec($ch); curl_close($ch); return $re; } ?>
如果你有服务器或虚拟空间只需要将代码上传并添加计划任务即可.
腾讯云云函数
以下是使用腾讯云云函数实现。
打开腾讯云腾讯云,
在搜索框搜索云函数
如果你也懂,就自己写推送吧~我懒 这是我的机器人推送,每天签到完毕会在群里提醒我
版权属于:龙辉博客
本文链接:https://blog.eirds.cn/361.html
如果没有特别声明则为本博原创。转载时须注明出处及本声明!
21 comments
程序为偷懒而生
科技进步离不开偷懒 的推动
可以用auto.js写一个脚本吗
直接云端签到不好吗..
学校用的是网页,但是又验证码,咋办
可以发给我看看
https://e.kmmu.edu.cn/lyuapServer/login?service=http://fxdl.kmmu.edu.cn/wengine-auth/login?cas_login=true
只需要cookie就行了 但是我不知道你们学校的登录多久失效一次
学校用的是网页,但是又验证码,咋办
哪个学校的,具体情况具体分析了
不知道你这个是啥..
你这个最好做..
能否帮个忙做一个教程,我学习下,学的电气,只学过C语言还没学好。哈哈哈
大佬如果我要加cookie 是不是加在xcurl的那个空白处啊
不是噢 上面有注释,在开头的$token处
我学校把健康打卡系统的登录后台关了,只能通过主站进去,我想到了cookie结果只有几个小时的有效期
可以通过模拟登录,不过需要分析js,对于非技术还是有些难度