目录

简介

环境配置

实现过程

分析校园网登录页面,获取URL

编写代码

运行程序

打包程序

使用说明

配置账号密码

设置开机启动

测试


简介

针对网页认证方式的校园网,实现登录的自动化。苦于校园网断线,断电重启之后无法借助远程软件(teamview、todesk、向日葵等)进行远程的问题。

1、开机自动连接

2、设置时间检查登录状态 自动重连

环境配置

主要版本如下:

python                    3.9

requests                  2.28.1

pyinstaller               4.8

建议安装conda创建新的虚拟环境,然后配置到pycharm,便于后续应用

  1. 新建环境:conda create -n name python=3.9  name换成自定义的英文名
  2. 激活环境:conda activate name
  3. 安装所需的包
    conda install requests
    conda install pyinstaller

实现过程

分析校园网登录页面,获取URL

打开登录界面,填入你自己的账号和密码(先别点击登录),然后按下 F12

点击了登录后:

这个 URL 中包含了学号和密码和IP(上图打码的地方);使用 GET 方式来登录,这意味着我们的账号和密码是直接以明文的形式出现在 URL 中,通过 GET 请求来登录校园网会方便很多

如果学校是像这样用 GET 请求直接登录的,可以试试复制,直接访问这个URL,如果可以直接登录,那边可以按照接下来的方法实现自动登录

编写代码

一般直接替换schoolWebLoginURL 为前文URL,将schoolWebURL替换为学校的验证网址,即可实现本机登录;

为便于打包使用、修改账号密码以及在不同的主机使用

  1. 创建data.txt文件 填写保存校园网账号密码

2. 基于socket自动获取本机IP

#
#@author:runepic
#@date:20221207
# _*_ coding : utf-8 _*_import re    # 正则表达式,用于匹配字符
import requests    # 用于向目标网站发送请求
import time
import socket
import datetime
schoolWebURL="http://10.10.10.9"# 函数 gethostname() 返回当前正在执行 Python 的系统主机名
ip = socket.gethostbyname(socket.gethostname())
print(ip)data = []
file = open("data.txt",'r')  #打开文件
file_data = file.readlines() #读取所有行
name = file_data[0].split(':')[1].replace('\n','')
password = file_data[1].split(':')[1].replace('\n','')
#tmp_list[-1] = tmp_list[-1].replace('\n',',') #去掉换行符while(True):response = requests.get(schoolWebURL)# print(response)# 正则表达式,匹配<title>标签中的内容pattern = re.compile('<title>(.*?)</title>', re.S)title = re.findall(pattern, response.text)title = title[0]    # 将格式转为字符串# print(title)if title == '注销页':    # 根据上面的分析填入相应的字符        # print("保持登录,请不要关闭窗口...")time.sleep(60*60)passelse:# 使用GET方式登录校园网# 这行是你需要根据自己的情况修改的地方schoolWebLoginURL = 'http://10.10.10.9:801/eportal/?c=Portal&a=login&login_method=1&user_account='+name+'&user_password='+password+'&wlan_user_ip='+ip+'&wlan_user_mac=000000000000&wlan_ac_ip=&wlan_ac_name=&jsVersion=3.0'    # requests.get(schoolWebLoginURL)response = requests.get(schoolWebLoginURL).status_code  # 直接利用 GET 方式请求这个 URL 同时获取状态码# print("状态码{}".format(response))  # 打印状态码if(response==200):print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')+"登录成功,请不要关闭窗口...")time.sleep(5) 

运行程序

退出校园网,执行代码,检查是否登陆成功

打包程序

conda中激活自定义的环境,cd进入代码目录

输入:pyinstaller -F login.py

等待打包完成即可:

在 dist 目录下就有一个 exe 程序,将txt文件复制到dist文件夹中,像刚才那样断开校园网然后运行这个 exe 程序看看能否正常登录校园网

使用说明

配置账号密码

在data.txt文件中配置账号密码

设置开机启动

创建exe程序桌面快捷方式

Win+R 输入shell:startup回车执行

将快捷方式放入

测试

双击exe 显示本机IP即为正常状态 不要关闭窗口可保持校园网登录(每小时自动检查一次登录状态),不慎关闭可重新打开

设置开机启动之后,开机即可自动登录校园网,不要关闭窗口

[Python]校园网(网页认证)开机/断网自动连接相关推荐

  1. 校园网网页认证自动登录

    校园网网页认证自动登录 python+定时任务 实现校园网自动登录 一.总览 二.具体步骤 python+定时任务 实现校园网自动登录 说明:因为我们学校校园网登陆需要网页认证,且每天3点左右会自动断 ...

  2. 电脑开机自动登录,断网自动重连以及桌面联网小程序

    对于需要拨号连接联网的公司企业和学校,每次开机都需要点一下弹出的连接对话框,才能让电脑联网,有没有什么方法无需用户进行任何操作就能自动联网呢?在远程办公时,办公室偶尔会出现断网的情况,远程软件也无法使 ...

  3. WIN10 电脑设置自动拨号联网任务,实现开机、断网自动重连

    1.打开"计算机管理" 使用组合键 win + X 唤出系统菜单,点击 计算机管理 . 2.打开"任务计划程序" 3.创建自动联网任务 ① 点击 创建基本任务 ...

  4. Wifi断网自动重连

    作者:faaronzheng 转载请注明出处! 最近宿舍wifi不知道为什么不稳定,经常电脑会断开连接,需要手动重连.而我又会整夜开着电脑下东西,十分蛋疼.所以我就小小的学以致用一下,写了一个简单地w ...

  5. windows 任务管理器实现拨号断网自动重连

    windows 任务管理器实现拨号断网自动重连 打开任务管理器 测试任务执行情况 打开任务管理器 右键计算机->管理 任务计划程序->创建基本任务 名称和描述方便自己记忆即可 完成如图点击 ...

  6. 苹果iPhone升级到10.3.3后,4G数据网络经常性断网无法连接???

    苹果iPhone升级到10.3.3后,4G网络经常性断网无法连接??? 还是最近上海天气的问题? 垃圾!

  7. 江西理工大学校园网开机自动连接,断网自动重连

    一.打开网页,但是先不登录 二.F12打开开发者工具,点击网络,勾选保留日志(防止日志丢失) 三.登录账号,观察连接后日志的变化 根据user_account及password的值可知,这是我们登录的 ...

  8. 1.1.1.1校园网_还担心断网?快试试清华校园网自动连接程序

    作为一名热爱科ban研zhuan的博士生,当我放假回家的时候,最挂念的就是实验室电脑上的文件和程序.在校外无法通过mstsc使用IP直连,只能通过第三方远程连接软件诸如Teamviewer.向日葵等来 ...

  9. win11断网自动重启

    前言 远程办公需要. 办公电脑没密码,开机后会自动联网,所以每次断网后联一下重启一下就好了 . 除了要求没密码外,还需要要求电脑的电源设置为从不睡眠: 一. 批处理脚本 功能:电脑一直不关机,6~7点 ...

最新文章

  1. Ubuntu 安装 CUDA 和 cuDNN 详细步骤
  2. 一文讲清楚什么是迁移学习?以及它都用在哪些深度学习场景?
  3. 语音文件转成文字怎么转
  4. 《守望先锋》中的末日铁拳是怎么摧毁玩家体验的?
  5. 合泰单片机数码管c语言,合泰单片机定时器数码管显示
  6. 【LeetCode笔记】79. 单词搜索 剑指 Offer 12 矩阵中的路径(Java、dfs)
  7. 期刊缩写查询_干活分享——SCI期刊名英文缩写查询
  8. 【C++探索之旅】第二部分第一课:面向对象初探,string的惊天内幕
  9. 高仿小红书引导页实现效果
  10. 快速使用 Javassist
  11. ImageJ如何获取图片RGB强度和灰度值
  12. 写给应届毕业生-------五险一金以及个人所得税缴纳计算
  13. 服务器备份软件cwRsync
  14. 对学校的希望和寄语_对小学生的寄语与希望
  15. 美橙互联域名转入万网 美橙互联域名转入万网
  16. android判断应用是否回到桌面的两种方法
  17. eXtremeTable -
  18. 设置锁屏方式后,锁屏长按电源键还有锁屏按钮(lockdown)锁屏状态下应该没有,解锁使用后长按才有这个按钮。
  19. 【LeetCode-SQL】1527. 患某种疾病的患者
  20. 日记侠:微信引流第一步你做对了吗?

热门文章

  1. Mysql最新版8.0.21下载安装配置教程
  2. XP Sp3 开机就要激活,否则无法登录windows桌面
  3. 联想拯救者y7000p电脑坏了,拿去维修了
  4. 甲骨文助ISV 通过SOA与Oracle软件集成
  5. web前端培训开发,CSS的伪类和伪元素
  6. CefSharp 中断点 已达到中断点
  7. 信息安全工程师报考完毕!
  8. 数据结构实验一,第2题:基于顺序存储结构的图书信息表的排序
  9. Android三级图片缓存框架思路【附练习Demo】
  10. 计算机视觉:图像特征与描述大全 ,有代码(一篇博文带你简单了解完图像特征提取技术)