10分钟搞定校园网自动登录:无黑窗+右下角通知+开机自启
🌟 开机10秒自动连网,切换WiFi自适应,新手零代码基础也能会!
一、前置准备(2分钟)
1. 安装Python(已装跳过)
- 下载:Python官网(选3.7+版本,建议3.10+)
- 安装:必须勾选「Add Python to PATH」(自动添加环境变量)
- 验证:按
Win+R输cmd,回车后输python --version,显示版本号即成功
2. 安装依赖库
打开cmd,逐行输入以下命令(输完回车等待安装):
pip install requests
pip install win10toast
- 异常处理:若提示“pip不是内部命令”,改用:
python -m pip install requests python -m pip install win10toast
二、核心步骤1:编写Python自动登录脚本(3分钟)
1. 创建存放目录
- 桌面新建文件夹,命名「CampusWiFiAutoLogin」(路径示例:
C:\Users\你的用户名\Desktop\CampusWiFiAutoLogin) - 注意:路径避免中文、空格或特殊字符
2. 新建Python脚本
- 进入文件夹,右键→「新建」→「文本文档」
- 重命名为
wifi_auto_login.py(后缀从.txt改为.py) - 看不到后缀:文件夹顶部「查看」→勾选「文件扩展名」
3. 复制完整代码(仅改2处!)
打开wifi_auto_login.py,粘贴以下代码,仅修改账号密码占位符:
import requests
import time
import logging
import uuid
import socket
from datetime import datetime
from logging import FileHandler
from win10toast import ToastNotifier
# -------------------------- 必须修改(填自己的信息) --------------------------
USERID = "你的校园网账号(含后缀如xxx@gxylocal)" # 示例:"2507442107@gxylocal"
PASSWORD = "你的校园网密码" # 示例:"12345678"
# -------------------------- 固定参数(无需修改) --------------------------
WLAN_AC_NAME = "HAIT-SR8808"
WLAN_AC_IP = "172.21.8.73"
PORTAL_PAGE_ID = 21
LOGIN_URL = "http://211.69.15.10:6060/quickauth.do"
# 日志配置
logger = logging.getLogger()
logger.setLevel(logging.INFO)
file_handler = FileHandler("campus_login_log.log", encoding="utf-8")
formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s")
file_handler.setFormatter(formatter)
logger.addHandler(file_handler)
# 通知器初始化
toaster = ToastNotifier()
def send_notification(title, msg):
"""右下角通知(显示5秒)"""
toaster.show_toast(title, msg, duration=5, threaded=True)
time.sleep(0.5)
def get_current_wlan_ip():
"""自动获取当前WiFi内网IP(切换WiFi无需手动改)"""
try:
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(("211.69.15.10", 6060))
current_ip = s.getsockname()[0]
s.close()
return current_ip
except Exception as e:
logger.error(f"❌ 获取IP失败:{str(e)}")
return None
def generate_login_params(current_ip):
"""生成登录参数(自动填充动态信息)"""
return {
"userid": USERID,
"passwd": PASSWORD,
"wlanuserip": current_ip,
"wlanacname": WLAN_AC_NAME,
"wlanacIp": WLAN_AC_IP,
"ssid": "", "vlan": "", "mac": "",
"version": 0, "portalpageid": PORTAL_PAGE_ID,
"timestamp": int(datetime.now().timestamp() * 1000),
"uuid": str(uuid.uuid4()),
"portaltype": 0, "hostname": "", "bindCtrlId": ""
}
def auto_login():
current_ip = get_current_wlan_ip()
if not current_ip:
send_notification("登录失败", "无法获取内网IP,请检查WiFi")
return False
send_notification("自动登录", f"已获取IP:{current_ip},正在连接...")
logger.info(f"开始登录(IP:{current_ip})")
# 重试3次应对网络波动
for i in range(3):
logger.info(f"第{i+1}次尝试...")
try:
params = generate_login_params(current_ip)
response = requests.get(
LOGIN_URL, params=params, timeout=8, verify=False
)
response.encoding = "utf-8"
res_text = response.text[:300]
if "成功" in res_text or "认证成功" in res_text:
logger.info("✅ 登录成功!")
send_notification("自动登录", "登录成功!已连接网络")
return True
else:
logger.warning(f"未成功,响应:{res_text}")
except Exception as e:
logger.error(f"第{i+1}次失败:{str(e)}")
time.sleep(2)
logger.error("❌ 3次尝试失败,请手动登录")
send_notification("登录失败", "连接失败,请手动登录")
return False
if __name__ == "__main__":
time.sleep(5) # 开机等待网络就绪
auto_login()
4. 测试脚本
- 双击
wifi_auto_login.py,弹出黑窗(测试用) - 成功:右下角弹「登录成功」,能正常上网
- 失败:查看文件夹内
campus_login_log.log排查原因
三、核心步骤2:配置无黑窗启动(2分钟)
1. 新建VBS启动脚本
- 进入「CampusWiFiAutoLogin」,右键→「新建」→「文本文档」
- 重命名为
start_wifi_silent.vbs(后缀从.txt改为.vbs)
2. 复制VBS代码(改2处路径)
打开start_wifi_silent.vbs,粘贴以下代码,替换路径占位符:
' 无黑窗启动Python脚本
Set objShell = CreateObject("WScript.Shell")
' 第1个路径:pythonw.exe完整路径;第2个路径:wifi_auto_login.py完整路径
objShell.Run """你的pythonw.exe路径"" ""你的wifi_auto_login.py路径""", 0, False
3. 查询路径教程
(1)pythonw.exe路径
- 按
Win+R输cmd,输where python,复制路径(示例:C:\Users\用户名\AppData\Local\Programs\Python\Python310\python.exe) - 把
python.exe改为pythonw.exe
(2)wifi_auto_login.py路径
- 右键脚本→「属性」→复制「位置」,拼接文件名(示例:
C:\Users\用户名\Desktop\CampusWiFiAutoLogin\wifi_auto_login.py)
4. 测试无黑窗启动
- 双击
start_wifi_silent.vbs,无黑窗弹出 - 成功:5-10秒后弹登录通知
四、核心步骤3:设置开机自启(3分钟)
1. 打开启动文件夹
- 按
Win+R,输shell:startup,回车打开自启文件夹
2. 添加脚本到自启
- 右键
start_wifi_silent.vbs→「创建快捷方式」 - 把快捷方式拖进启动文件夹
3. 配置管理员权限
- 右键启动文件夹内的快捷方式→「属性」
- 「快捷方式」→「高级」→勾选「以管理员身份运行」→确定
4. 最终测试
- 重启电脑,等待10秒
- 成功:弹出登录通知,能自动上网
五、常见问题排查
| 问题现象 | 解决方案 |
|---|---|
| 通知乱码 | 升级库:pip install --upgrade win10toast,或脚本开头加import sys; sys.stdout.encoding = 'utf-8' |
| 开机未运行 | 重新创建快捷方式,检查路径是否正确 |
| 登录失败 | 核对账号密码,确认连接校园网WiFi |
| VBS无反应 | 用where python重新查询路径,修正VBS中的路径 |
| 通知不显示 | 打开「设置→系统→通知」,开启通知权限 |
总结
核心3步:写Python脚本(填账号密码)→ VBS无黑窗启动 → 开机自启配置。配置后开机自动连网,切换WiFi无需手动操作,彻底告别重复输账号密码!
诺亚方舟