校园网自动认证"/>
njust校园网自动认证
分析校园网登录页面
打开登录界面,填入你自己的账号和密码(先别点击登录),然后按下 F12
点击了登录后:
获取登录请求的URL链接,可以看到南理校园网是使用POST的方式来登录的。
- 查看POST请求参数:
后面需要用到的是代表学号的username和代表登录密码的password。
编写代码
# _*_ coding : utf-8 _*_ import requests # 用于向目标网站发送请求 url = '' # 这行是你需要根据自己的情况修改的地方
data = { "username": 'xxxxxx', # 你滴学号 "password": 'xxxxxx', # 你滴密码
}
# 下面这整个 header 都是需要根据网页中的请求头来做修改
# 下面这整个 header 是我的,你需要按照你自己浏览器中出现的 Response Headers (请求标头)来修改
header = { "Accept": "application/json, text/javascript, */*; q=0.01", "Accept-Encoding": "gzip, deflate", "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6", # "Cache-Control": "max-age=0", "Content-Length": "108", "Connectin": "keep-alive", "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8", "Host": "m.njust.edu", "Origin": "", "Referer": ".html", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 Edg/118.0.2088.46", "X-Requested-With":"XMLHttpRequest"
}
response = requests.post(url, data, headers=header) # POST 方式向 URL 发送表单,同时获取状态码
# print("状态码{}".format(response)) # 打印状态码
print(response.text)
print(response.status_code)
运行结果:
设置自动运行
在windows下设置自动运行校园网认证程序,我的主要思路是写一个bat脚本调用上面写的python代码,然后借助windows的定时任务功能定期执行bat脚本。
bat脚本内容:
@echo off
python network.py
rem timeout /t 2 /nobreak >nul
network.py为上面编写的python代码
通过命令行设置
设置每隔15min自动认证一次
schtasks /create /tn connect_network /tr E:\run.bat /sc minute /mo 15 /st 00:00:00 /et 23:59:00
实际发现这样只能自动认证一天,因此进入图形化界面修改任务有效期(也可以直接图形化界面新建任务)
打开路径:控制面板(可在命令行下输入control打开)-> 管理工具 -> 任务计划程序,打开主界面如下:
找到刚刚新建的任务名,双击它
修改触发器设置如下:
可根据需要修改运行间隔。
本人亲测自动认证有效
参考资料
自动登录校园网脚本(Python实现) - 知乎 (zhihu)
windows下之定时执行bat脚本_bat定时任务-CSDN博客
更多推荐
njust校园网自动认证
发布评论