logo
0
0
Login
编辑文件 README.md

校园网自动认证守护程序(Windows)

一个在后台定期检测网络连通性、掉线后自动登录校园网的 Python 脚本,带日志记录、重试与优雅退出。

  • 语言与平台:Python 3.8+(Windows)
  • 依赖:requests, colorama(详见 requirements.txt)
  • 日志:默认输出到 campus_auth.log

功能特性

  • 周期性检测网络连通性,掉线自动发起登录
  • 带最大重试次数与重试间隔
  • 兼容 gzip/不同编码的响应解码
  • 可配置检测间隔、请求超时、日志等级/文件
  • Ctrl+C 优雅退出,记录关闭

目录结构

  • campus_auto_auth.py:主程序(包含函数级中文注释/文档字符串)
  • config.json:配置文件(用户名、密码、门户地址、检测间隔等)
  • requirements.txt:依赖清单
  • campus_auth.log:运行后生成的日志文件

快速开始(Windows,推荐虚拟环境)

  1. 安装 Python 3.8+ 并确保添加到 PATH。
  2. 打开 PowerShell,进入项目目录: cd c:\Users\33012\Desktop\linux校园网认证python
  3. 创建并启用虚拟环境(避免库冲突): python -m venv .venv ..venv\Scripts\activate
  4. 安装依赖: pip install -r requirements.txt
  5. 配置账号与参数:编辑 config.json,至少填写 username 与 password,例如: { "username": "学号", "password": "密码", "post_url": "http://172.16.100.102/eportal/InterFace.do?method=login", "get_url_template": "http://172.16.100.102/eportal/success.jsp?userIndex={userIndex}&keepaliveInterval=0", "test_urls": [ "http://www.baidu.com", "http://www.qq.com", "http://172.16.100.102" ], "check_interval": 20, "max_retries": 3, "retry_delay": 5, "timeout": 10, "log_level": "INFO", "log_file": "campus_auth.log" }
  6. 运行程序: python campus_auto_auth.py 显示“按 Ctrl+C 停止程序”后即开始后台巡检与自动认证(前台运行,可最小化 PowerShell)。

提示:如需停止,按 Ctrl+C;如需查看详细日志,将 config.json 中 log_level 设置为 "DEBUG"。

开机自启(可选)

如需开机自启,建议使用 Windows 任务计划程序:

  • 触发器:登录时
  • 操作:启动程序,程序/脚本填写 Python 可执行文件路径,参数填写项目内脚本路径,例如: C:\Path\to\python.exe c:\Users\33012\Desktop\linux校园网认证python\campus_auto_auth.py
  • 起始于:项目目录
  • 勾选“使用最高权限运行”(取决于网络策略)

日志与排错

  • 日志文件:campus_auth.log
  • 常见问题:
    • 登录失败:检查账号/密码是否正确,或门户地址是否可达
    • 一直掉线:调整 check_interval、retry_delay、timeout;确认 test_urls 可在内网访问
    • GBK/UTF-8 编码报错:程序已内置多种解码策略,保持默认即可

安全建议

  • 避免在公共仓库提交明文密码。若需开源,请改用环境变量或在提交前清空 config.json 的敏感字段。

许可证

本项目仅用于学习与个人使用,请遵循所在校园网络的使用规范。