Files
GPA_Monitoring/常见问题解决.md
ChuXun 609b2334e8 1
2026-01-18 18:48:20 +08:00

3.4 KiB
Raw Blame History

常见问题解决方案

⚠️ "请不要过快点击" 错误

问题原因

学校WebVPN系统有严格的访问频率限制短时间内多次访问会被拦截。

解决方案

1. 停止手动测试至少5分钟

# 如果在服务器上运行,请先停止程序
ps aux | grep monitor.py
kill <进程ID>

# 等待至少5分钟后再重新测试

2. 修改配置文件增加间隔

编辑 config.ini

[monitor]
# 将检查间隔改为5分钟300秒或更长
CHECK_INTERVAL = 300

# 增加请求延迟
REQUEST_DELAY = 15

# 增加重试间隔
RETRY_DELAY = 60

3. 使用正确的测试方式

# 测试前确保距离上次测试至少5分钟
python3 monitor.py --test

# 如果还是被拦截等10分钟后再试

4. 部署后不要频繁测试

# 部署systemd服务后让它自动运行
sudo systemctl start grade-monitor

# 只通过日志查看运行情况
tail -f monitor.log

# 不要反复启停服务或手动测试

🔍 如何判断系统正常工作

方法1查看日志

tail -f ~/grade_monitor/monitor.log

正常日志应该类似:

2026-01-17 10:00:00 - INFO - 开始检查成绩变化...
2026-01-17 10:00:05 - INFO - 登录成功!
2026-01-17 10:00:10 - INFO - 成功获取成绩页面
2026-01-17 10:00:12 - INFO - 未发现新课程
2026-01-17 10:02:00 - INFO - 等待下次检查...

方法2查看保存的成绩文件

cat ~/.last_grade_content.txt

如果文件包含完整的课程列表和GPA说明系统工作正常。

方法3查看进程状态

ps aux | grep monitor.py

如果有进程在运行,说明程序正在监控中。

📝 最佳实践

测试阶段

  1. 首次测试:运行 python3 monitor.py --test
  2. 等待5分钟
  3. 再次测试:确认能正常获取成绩
  4. 等待10分钟
  5. 部署服务配置systemd或使用tmux

运行阶段

  1. 设置CHECK_INTERVAL为120秒或更长
  2. 让程序自动运行,不要手动干预
  3. 每天查看一次日志即可
  4. 不要频繁重启服务

如果被持续拦截

  1. 停止所有监控程序
  2. 等待至少30分钟
  3. 将CHECK_INTERVAL改为600秒10分钟
  4. 重新启动,让它慢慢运行
  5. 确认稳定后,再逐步减少间隔

🛠️ 调试技巧

查看实际响应内容

cat ~/grade_monitor/.debug_response.html

如果文件包含"请不要过快点击",说明请求被拦截。

检查登录状态

# 运行测试模式
python3 monitor.py --test

# 查看是否成功登录
grep "登录成功" monitor.log

测试网络连接

# 测试是否能访问学校网站
curl -I https://webvpn.neu.edu.cn

# 测试SMTP邮件服务器
nc -zv smtp.163.com 465

💡 温馨提示

  1. 成绩更新频率不高学校不会每分钟更新成绩建议CHECK_INTERVAL设为120-300秒
  2. 避免过度监控频繁访问可能被学校系统封禁IP
  3. 合理设置间隔:既能及时发现新成绩,又不会触发限流
  4. 信任自动化:部署后让程序自己运行,不需要频繁检查

📞 仍然无法解决?

  1. 检查配置文件中的账号密码是否正确
  2. 确认能在浏览器中正常登录学校系统
  3. 查看 .debug_response.html 了解实际响应
  4. 将CHECK_INTERVAL增加到600秒10分钟
  5. 考虑只在特定时间段运行如每天上午10点和下午3点