华南师范大学的校园网只能够无感认证三台机器,但是新老手机、平板再加电脑就四台了,自己又是个懒比,不想每次都点击认证,所以搜了很多教程最后实现了电脑端自动登陆。
1、在登录页面点击F12,进入开发者选项。
2、自行输入账号密码,点击连接;找到如下的记录。
3、找到标头和负载,记录下三条信息:标头中的请求url;标头中的请求标头;负载中的表单数据。
(1)标头中的请求url
(2)标头中的请求标头
代码如下(示例):
import requests
import os
import time
from win10toast import ToastNotifier
# 自定义windows通知的图标
success_icon = "D:\progame files\WindowsGet\ico\Check.ico"
se = requests.Session()
url = 'https://wifi.scnu.edu.cn:8443/eportal/InterFace.do?method=login'
# 标头中的请求url
headers = {
'Accept': '*/*',
'Accept-Encoding': 'gzip, deflate, br',
'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
'Connection': 'keep-alive',
'Content-Length': '864',
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
'Cookie': 'EPORTAL_COOKIE_SERVER=; EPORTAL_COOKIE_OPERATORPWD=; EPORTAL_COOKIE_DOMAIN=; EPORTAL_AUTO_LAND=; EPORTAL_COOKIE_SAVEPASSWORD=true; EPORTAL_COOKIE_USERNAME=20182121024; EPORTAL_COOKIE_PASSWORD=43164f1380186fbc739c06fe0fc06ef304afde47283b6df9a866684ce79f3eb2772b80ac4928753784b65199bbbf0a7ee3ed0b4a9780762b17cbbe17cd1165438c936d789dd6b543a0ed03ad8f4d5752b51629dde6b777d77f61f4b9887c2ad52847f98f2f80466c833e71ba0f317e09aca07693e44638673844d79a6d08da6a; EPORTAL_USER_GROUP=root; EPORTAL_COOKIE_SERVER_NAME=; JSESSIONID=4512E35AA85E9A893A1031865F77267D; client__ticket=gXFmvtfed7sSwsaq; UM_distinctid=18097b1b86310b-014dc7eb799251-12333272-e1000-18097b1b864a8c',
'Host': 'wifi.scnu.edu.cn:8443',
'Origin': 'https://wifi.scnu.edu.cn:8443',
'Referer': 'https://wifi.scnu.edu.cn:8443/eportal/index.jsp?wlanuserip=ceb5ff0c2ce3369c9347490602b5d715&wlanacname=30cdd1d84f49cd52&ssid=&nasip=9f0d9ecb95d690499cd8a54b799b4865&snmpagentip=&mac=820c69e40b6f0dfab9f46507103f36de&t=wireless-v2&url=8f566ce31cdfa84700a57aad950a3dd11eaff7bc47ae1f9a&apmac=&nasid=30cdd1d84f49cd52&vid=7f9db0aede5e6c73&port=46390340de4a6747&nasportid=ff82beaac0b291b6872bdec0c2e51fdc0d6368165143b7711dfd77bcf386ff5b426abc4f02cdb7da',
'sec-ch-ua': '"Not A;Brand";v="99", "Chromium";v="102", "Google Chrome";v="102"',
'sec-ch-ua-mobile': '?1',
'sec-ch-ua-platform': 'Android',
'Sec-Fetch-Dest': 'empty',
'Sec-Fetch-Mode': 'cors',
'Sec-Fetch-Site': 'same-origin',
'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Mobile Safari/537.36'
} # 标头中的请求标头
data = {
"userId": "20182121024",
"password": "43164f1380186fbc739c06fe0fc06ef304afde47283b6df9a866684ce79f3eb2772b80ac4928753784b65199bbbf0a7ee3ed0b4a9780762b17cbbe17cd1165438c936d789dd6b543a0ed03ad8f4d5752b51629dde6b777d77f61f4b9887c2ad52847f98f2f80466c833e71ba0f317e09aca07693e44638673844d79a6d08da6a",
"service": "",
"queryString": "wlanuserip%3Dceb5ff0c2ce3369c9347490602b5d715%26wlanacname%3D30cdd1d84f49cd52%26ssid%3D%26nasip%3D9f0d9ecb95d690499cd8a54b799b4865%26snmpagentip%3D%26mac%3D820c69e40b6f0dfab9f46507103f36de%26t%3Dwireless-v2%26url%3D8f566ce31cdfa84700a57aad950a3dd11eaff7bc47ae1f9a%26apmac%3D%26nasid%3D30cdd1d84f49cd52%26vid%3D7f9db0aede5e6c73%26port%3D46390340de4a6747%26nasportid%3Dff82beaac0b291b6872bdec0c2e51fdc0d6368165143b7711dfd77bcf386ff5b426abc4f02cdb7da",
"operatorPwd": "",
"operatorUserId": "",
"validcode": "",
"passwordEncrypt": "true"
} # 负载中的表单数据
def auto_wifi():
global url
global headers
global data
while True:
result = os.system(u"ping baidu.com -c 5 -W 1")
if result != 0:
# 自动登录
content = se.post(url, data=data, headers=headers)
if content.json().get('result') == 'success':
# 控制台打印提示、windows通知提示
print("online1")
ToastNotifier().show_toast(title="登录成功",
msg="校园网状态",
icon_path=success_icon,
duration=5,
threaded=False)
break
print("wait 30s")
time.sleep(30)
auto_wifi()
1、在PyCharm内下载安装pyinstalle库
2、在控制台进入pyinstaller .exe所在的文件路径
3、将py文件复制到文件路径
4、输入命令
pyinstaller -w -F main.py
1、使用快捷键win+s,在windows中搜索“任务计划程序”
2、创建任务
(1)操作–>创建任务–>输入名称–>勾选使用最高权限–>配置选择windows10
(2)点击新建触发器–>开始任务选择“工作站解锁时”–>延迟任务时间选择“3秒”
(3)点击新建操作–>选择刚才创建的exe文件
(4)点击条件–>取消勾选“只有在计算机使用交流电源时才启动此任务”
(5)完成配置
1、网上的很多教程不适合华师的校园网,那些登陆都是get类型,而华师的校园网登陆是post类型。
2、参考了一些其他优秀博主的博客,链接如下:
get型自动登陆:https://www.bilibili.com/video/BV14Y4y1t7Nc?spm_id_from=333.1007.top_right_bar_window_history.content.click
post型自动登陆:https://blog.csdn.net/u012781242/article/details/123596346
py文件生成exe文件:https://blog.csdn.net/shunshunss/article/details/122971779
自动启动exe文件:https://www.bilibili.com/video/BV14Y4y1t7Nc?spm_id_from=333.1007.top_right_bar_window_history.content.click
显示通知:https://jingyan.baidu.com/article/6181c3e085547c542ef153ed.html
3、如果程序执行了却并没有显示通知,则要将windows的通知权限打开。https://jingyan.baidu.com/article/6181c3e085547c542ef153ed.html
4、注意路径中不要有中文。
5、代码中的“自定义windows通知的图标可有可无,具体对比如下图。