一. 认证地址与参数

通过curl命令(替换用户名和密码):

1
2
3
4
5
6
7
8
9
curl -X POST \
-H "Content-Type: application/x-www-form-urlencoded; charset=UTF-8;" \
-H "Content-Length: 67" \
-d 'opr=pwdLogin' \
-d 'userName=用户名' \
-d 'pwd=密码' \
-d 'ipv4or6=' \
-d 'rememberPwd=1' \
-k https://a.stu.edu.cn/ac_portal/login.php

如果在Linux下用ip addr发现无法找到网关:

1
2
sudo dhclient enp5s0
sudo vim /etc/resolv.conf # 然后 search 一栏改成 stu.edu.cn

二. 编写脚本并定时执行

暂时只研究了Windows系统下如何编写脚本并定时执行。

2.1 Windows 系统下编写 bat 脚本

首先编写 bat 脚本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
@echo off

curl -X POST ^
-H "Content-Type: application/x-www-form-urlencoded; charset=UTF-8;" ^
-H "Content-Length: 67" ^
-d "opr=pwdLogin" ^
-d "userName=22zmzhang" ^
-d "pwd=123456" ^
-d "ipv4or6=" ^
-d "rememberPwd=1" ^
-k "https://a.stu.edu.cn/ac_portal/login.php"

echo.
echo 脚本执行完毕,请检查是否能正常上网!

以记事本保存上述代码,然后另存为 bat 脚本,选择 ANSI 编码。

要注意的是,最后不要用 pause 来显示黑框,否则后面定时执行任务会出现问题。

2.2 Windows 系统下定时任务

打开 任务计划程序 应用(系统自带),在左侧 任务计划程序库 下建立新文件夹,方便管理脚本。

创建任务

STEP 1:勾选 不管用户是否登录都要运行使用最高权限运行,配置选择对应的操作系统版本。

STEP 2:新建触发器,开始任务选择 创建/修改任务时,高级设置中的重复任务间隔选择 1小时,持续时间选择 无限期

STEP 3:在操作选项卡中,新建启动程序操作,并选择要执行的 bat 脚本。

STEP 4:在条件选项卡中,勾选 唤醒计算机运行此任务

然后运行任务即可,看到 “上次运行结果” 中显示 “操作成功完成” 则说明创建定时任务成功。