摘要:
如今每个大学都有自己的校园网,学生在验证身份之后就可以使用学校的公共无线网络。
然而,有些学校的校园网并不稳定,每隔一段时间,就会自动退出学生登陆的账号,学生也需要重新登陆连接。
因此,本文介绍了一种使用python语言实现校园网持续检测连接状态,并能够自动重连的方法。
注意,本文仅针对一种校园网进行实现,各个学校的校园网登陆页面和机制都有所不同,如果要使用需要稍作调整。
环境配置:
系统环境:Windows操作系统;
网络环境:校园网覆盖区域,使用Chrome、Edge、Firefox浏览器;
配置环境:配置好的Python运行环境。
校园网展示:
注:页面中点击“请选择”可以选择“学生”、“教师”
实现步骤:
1、首先下载chrome浏览器的驱动chromedriver,下载链接:https://liushilive.github.io/github_selenium_drivers/md/Chrome.html
注意:不同的chrome浏览器版本对应不同的驱动,下载好了之后将驱动程序转移到一个特定目录下(一般为chrome安装的目录),配置好环境变量。
2、编写代码,核心代码:
1)这里可以设置用户名和密码:
2)这里使用chrome驱动实现自动打开浏览器登录,其中可以设置登录网址和每一个对话框控件的id:
3)这个方法通过向百度网站请求连接来判断电脑目前是否处于联网状态:
4)主函数通过每隔10秒钟调用检测网络的方法来判断主机目前是否联网,如果没有,则调用爬虫函数实现自动登录:
后期处理:
编写好代码之后,编译,运行,没有问题。可是,每次运行这个程序都要打开pycharm(个人用的顺手的编译器),有点麻烦,于是我打算把他包装成一个exe程序,这样每次只需要双击,这个程序就可以在后台运行了。
这里,我使用pyinstaller将源代码打包成exe文件,并在桌面创建快捷方式便于经常使用,如下图所示。
最终效果就是这样,快捷方式和exe文件的图标都可以自己选择图片定制。
运行测试:
先注销校园网账号,让校园网处于连接wifi但是未登录的状态。双击桌面图标运行程序。几秒钟后,就看到chrome浏览器自动打开并进行登陆,登陆操作完成后,浏览器退出,网络已连接。
总结:
优点:
1、可以将校园网wifi设置为自动连接,每次开机之后,只需要双击桌面图标(也可以设置为开机自启动),就再也不用担心校园网络连接问题;
2、每次双击运行之后,这个程序的进程就会不断运行在后台,不需要进行再次启动等其他操作。
缺点:
1、最好将校园网wifi设置为自动连接,这个程序只能在用户连接了校园网wifi却没有登录的状态下起作用;
2、由于这个程序没有图形界面,还会持续在后台运行,所以如果用户有什么情况想要终止运行,那么只能打开任务管理器,找到相应进程,强制终止。