尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

CAU校园网接路由器(备忘)

CAU校园网接路由器(备忘)
📅 发布时间:2026/7/2 9:59:21

​
校园网是30元包月不限流量,3人拼,每人每月10元

1.路由器型号

TP-Link AX3000,京东购入,134.5,因为我们是实验室3个人拼,所以一个人不超过50元

2.路由器安装流程

拿到手接通电源,直接插上网线就行,一般实验室到处都是网口,但是我不知道宿舍可以用吗
网页输入10.3.191.9就会弹出自动跳转跳转有线网登录界面,输入学号密码登录即可

农大校园网连手机经常会掉,无感知绑定也没有用,所以问了一下我师兄他说写个python脚本就行。

3.python脚本使用方法

文件名:campus_autologin.py
存放位置:我是存放到了桌面D:\Users\Administrator\Desktop\

3.1 配置虚拟环境(就第一次安装的时候配置就行)

(一般学计算机的都默认有anaconda和🪜就不讲这个了,其实我也不知道是不是一定需要🪜,直接说命令了)

conda create-nnetloginpython=3.11-yconda activate netlogin pipinstallplaywright playwrightinstallchromium

找到后台运行需要的pythonw的路径

where pythonw

输出结果:
(netlogin) C:\Users\Administrator>where pythonw C:\Users\Administrator\.conda\envs\netlogin\pythonw.exe(有用) C:\Users\Administrator\AppData\Local\Programs\Python\Python311\pythonw.exe

3.2 首次测试

step1:打开anaconda prompt,输入上述5行命令(激活环境)
step2:把脚本的L37改成False测试(这个好像是可以可视化看到登录过程,后续改成True就不看了)
step3:把校园网注销
step4:运行程序:Anaconda Prompt 里:conda activate netlogin→cd /d D:\Users\Administrator\Desktop→python campus_autologin.py。看到浏览器自动登录、日志出现「网络正常 ✓」= 成功。

如果可以成功登录就行,下面开始配置开机自启

4.配置开启自启

把xml文件导入进去
输入Win+R—>taskschd.msc,操作—>导入任务,把xml文件导入进去就行,直接点击确定
在左侧的任务计划程序库里面就能看到校园网自动重连
判断进行有没有在运行,打开任务管理器,输入python,就能查到程序了
要把电脑设置成连接电源电脑不关机不睡眠。

5.代码(附件都有)

代码:

""" 校园网自动重连守护脚本(网页认证版 · Dr.COM 适配) -------------------------------------------------- 定时检测能否上外网,掉线时自动打开登录页、填账号密码、提交重新认证。 只操作可见登录框;用原生 DOM 点击触发登录,绕过元素遮挡/稳定性限制。 首次准备(Anaconda Prompt / 已激活 netlogin 环境): conda create -n netlogin python=3.11 -y conda activate netlogin pip install playwright playwright install chromium 运行: python campus_autologin.py # 前台,能看日志(调试用) pythonw campus_autologin.py # 无窗口后台运行(HEADLESS=True 时) 停止: Ctrl+C """importsysimporttimeimportloggingfromurllib.requestimporturlopen,Requestfromurllib.errorimportURLErrorfromplaywright.sync_apiimportsync_playwright# ============ 配置区:一般只改账号密码 ============LOGIN_URL="http://10.3.38.8"# 你的登录页地址USERNAME="学号"PASSWORD="密码"CHECK_INTERVAL=30# 在线时每隔多久探测一次RETRY_INTERVAL=10# 提交登录后多少秒再复查# 【重要】先用 False 测:能看到浏览器自动填表登录。# 确认成功后改成 True,才能无窗口后台运行、配开机自启。HEADLESS=True# =============================================# 国内连通性检测(返回 204 才算真能上外网;掉线被门户拦截会被重定向,据此识别)CHECK_URLS=["http://connect.rom.miui.com/generate_204","http://connectivitycheck.platform.hicloud.com/generate_204",]logging.basicConfig(level=logging.INFO,format="%(asctime)s %(message)s",datefmt="%H:%M:%S",handlers=[logging.StreamHandler(sys.stdout),logging.FileHandler("campus_autologin.log",encoding="utf-8"),],)log=logging.getLogger()defis_online()->bool:"""访问 generate_204,返回 204 才算真的能上外网。"""forurlinCHECK_URLS:try:req=Request(url,headers={"User-Agent":"Mozilla/5.0"})ifurlopen(req,timeout=5).getcode()==204:returnTrueexcept(URLError,OSError):continuereturnFalsedefwait_visible(page,selector:str,timeout_ms:int=8000):"""在 timeout 内轮询,返回第一个"可见"的匹配元素;跳过隐藏登录框里的重复元素。"""end=time.time()+timeout_ms/1000.0whiletime.time()<end:forelinpage.query_selector_all(selector):try:ifel.is_visible():returnelexceptException:passpage.wait_for_timeout(300)returnNonedefdo_login()->None:"""打开登录页 -> 填可见的账号/密码 -> 原生点击登录按钮(onclick=login)。"""log.info("检测到掉线,尝试重新登录 …")try:withsync_playwright()asp:browser=p.chromium.launch(headless=HEADLESS)page=browser.new_page()page.set_default_timeout(10000)page.goto(LOGIN_URL,wait_until="domcontentloaded")# 等到"可见"的密码框和用户名框(跳过隐藏登录标签页)pw=wait_visible(page,"input[type='password']")user=wait_visible(page,"input:not([type='password']):not([type='checkbox'])"":not([type='hidden']):not([type='submit'])"":not([type='button']):not([type='radio'])")ifnotpwornotuser:log.warning("没找到可见的登录框(可能已是登录状态,或页面没加载出来)")browser.close()returnuser.fill(USERNAME)pw.fill(PASSWORD)log.info("已填入账号密码,准备提交 …")# 提交:优先用原生 DOM click 触发按钮 onclick=login(),绕过遮挡/稳定性检查btn=wait_visible(page,"input[name='0MKKey']",3000)ifbtn:btn.evaluate("el => el.click()")log.info("已触发登录按钮(原生点击)")else:pw.press("Enter")log.info("未找到登录按钮,改用回车提交")page.wait_for_timeout(2500)# 兜底:若仍停留在登录页(还能看到可见密码框),再补一次回车still=wait_visible(page,"input[type='password']",1500)ifstill:log.info("疑似未提交成功,补一次回车兜底")try:still.press("Enter")exceptException:passpage.wait_for_timeout(2000)browser.close()log.info("登录动作已完成,等待网络恢复 …")exceptExceptionase:log.warning(f"登录过程出错:{e}")defmain()->None:log.info("校园网守护已启动,开始监测 …")whileTrue:ifis_online():time.sleep(CHECK_INTERVAL)else:do_login()time.sleep(RETRY_INTERVAL)if__name__=="__main__":try:main()exceptKeyboardInterrupt:log.info("已手动停止")
<?xml version="1.0" encoding="UTF-16"?><Taskversion="1.2"xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"><RegistrationInfo><Description>Campus net auto re-login</Description></RegistrationInfo><Triggers><LogonTrigger><Enabled>true</Enabled><Delay>PT30S</Delay></LogonTrigger></Triggers><Principals><Principalid="Author"><LogonType>InteractiveToken</LogonType><RunLevel>LeastPrivilege</RunLevel></Principal></Principals><Settings><MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy><DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries><StopIfGoingOnBatteries>false</StopIfGoingOnBatteries><AllowHardTerminate>true</AllowHardTerminate><StartWhenAvailable>true</StartWhenAvailable><RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable><IdleSettings><StopOnIdleEnd>false</StopOnIdleEnd><RestartOnIdle>false</RestartOnIdle></IdleSettings><AllowStartOnDemand>true</AllowStartOnDemand><Enabled>true</Enabled><Hidden>false</Hidden><RunOnlyIfIdle>false</RunOnlyIfIdle><WakeToRun>false</WakeToRun><ExecutionTimeLimit>PT0S</ExecutionTimeLimit><Priority>7</Priority></Settings><ActionsContext="Author"><Exec><Command>C:\Users\Administrator\.conda\envs\netlogin\pythonw.exe</Command><Arguments>"D:\Users\Administrator\Desktop\campus_autologin.py"</Arguments><WorkingDirectory>D:\Users\Administrator\Desktop</WorkingDirectory></Exec></Actions></Task>

​

相关新闻

  • 中文论文参考文献排版终极指南:GB/T 7714标准完全实现方案
  • 内核设备拒绝响应?VMware虚拟化启动失败的7种真实日志特征,附dmesg+modinfo精准诊断清单
  • 抖音无水印下载终极解决方案:三步掌握高效批量下载技术

最新新闻

  • 3步搞定视频PPT提取:从教学视频到精美讲义的智能转换方案
  • 南宁本地企业靠谱GEO工具推荐:2026年企业选GEO工具前先看懂这几项核心能力
  • Three.js 多浏览器窗口连接教程
  • 三步解锁WeMod Pro:Wand-Enhancer开源增强工具全攻略
  • 简历自我评价别再写“积极向上“了!实测6款AI工具,3分钟生成HR想看的版本
  • 一次陪家人看牙的简单记录

日新闻

  • Python Playwright录制功能:从零到一构建自动化测试脚本
  • 如何用开源工具永久保存你心爱的小说:novel-downloader全攻略
  • In-Context Learning不是教知识,而是模式对齐:从5个示例到100个工业级样本的真相

周新闻

  • Windows字体自定义终极方案:No!! MeiryoUI完全指南
  • Deepin Boot Maker:告别命令行,3分钟制作Linux启动盘的智能解决方案
  • Plain Craft Launcher 2:重新定义你的Minecraft游戏体验

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号