河南工业大学linux系统校园网自动登陆脚本

河南工业大学linux系统校园网自动登陆脚本

背景

河南工业大学的校园网在校区是免费的,访问外网时,需要先用学号加密码登陆,但是差不多隔一天就需要重新登陆。
有学长用学校的机子做linux服务器,寒暑假时在家就需要服务器一直保持运行,于是有了需求。

查找登陆接口

登陆网址:

url = 'http://auth.haut.edu.cn/'

在界面点击右键,审查元素,点击网络
登陆界面
随便输入一个学号和密码,点击认证登陆
在这里插入图片描述
可以抓到第一个包就是我们想要的,往下翻,会看到请求参数就是我们刚才填的学号和密码,并且用户名和密码都没有加密,并且是get请求,本机ip地址如果不会查看的,可以登陆一次,然后他会显示你的ip地址。在这里插入图片描述
接口:

url = 'http://auth.haut.edu.cn/v1/haut?username=学号&password=密码&ac_id=1&user_ip=你的ip地址'

测试接口是否正确:
先注销,你可以在python里用requests请求一下这个ip,也可以直接复制这个链接,到浏览器直接打开,再打开网页,看是否登陆成功。

linux 使用cron服务执行定时任务

一般这个服务是随着开启就启动了,我使用的是ubuntu
在命令行输入:

crontab -e         //修改crontab文件,如果没有则创建文件

附赠一些其他命令:
crontab -l //查看 crontab 文件
crontab -r //删除 crontab 文件
crontab -ir // 在删除 crontab 文件前提醒用户

service crond status // 检查 crontab 服务状态
service crond start // 启动crond 服务
service crond stop // 停止服务
service crond restart // 重启服务
service crond reload // 重新加载服务

接着上面,我们进入修改crontab文件,添加一行:

00 6 * * * sh test.sh         # 在每天的6点定时执行test.sh脚本

前面5个参数表示时间: 分(00-59) 时(00-23) 日(00-31) 月(0-12) 周(0-6)
*号 代表所有,比如我想每分钟执行就是 * * * * * +命令
也支持使用, 和- 表示连续和间隔,比如1,3,5 和 2-7 表示单独的日期和连续的日期

然后按 crtl + s 保存 和ctrl + x 退出,如果提示新建了一个什么什么,就表示成功

写test.sh脚本内容

脚本代码也很简单,分为两步:
1、请求我们之前获取的登陆api接口,参数直接&连接
2、输出日志,表示当天登陆成功,有迹可循

使用curl 请求地址
使用命令 curl + url 就可以请求,可以在命令行先测试是否成功:

curl http://www.baidu.com         //在每天的6点定时执行test.sh脚本

如果输出响应文件,表示没有问题,可以下一步,如果找不到没有curl,就根据他提示的命令下载一下curl。
test.sh文件代码:

curl http://auth.haut.edu.cn/v1/haut?username=学号\&password=密码\&ac_id=1\&user_ip=ip地址 >> login_log.txt                   # 将返回结果写入文件
date >> login_log.txt           # 将当前日期写入文件

注意这里的 & 要加 \ 进行转义。

附赠:
curl 可以添加的一些参数
curl -A “user-agent” url // 设置请求头
curl -b cookie.txt url // 从文本设置请求cookie
curl -c cookie.txt url // 保存请求到的cookie到文件cookie.txt
curl -e “refer” url // 添加请求头中的来源
curl -o www.baidu.com // 保存请求到的文本
curl -o /dev/null -s -w %{http_code} www.baidu.com // 输出请求状态码

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值