目录
简介
环境配置
实现过程
分析校园网登录页面,获取URL
编写代码
运行程序
打包程序
使用说明
配置账号密码
设置开机启动
测试
针对网页认证方式的校园网,实现登录的自动化。苦于校园网断线,断电重启之后无法借助远程软件(teamview、todesk、向日葵等)进行远程的问题。
1、开机自动连接
2、设置时间检查登录状态 自动重连
主要版本如下:
python 3.9
requests 2.28.1
pyinstaller 4.8
建议安装conda创建新的虚拟环境,然后配置到pycharm,便于后续应用
conda install requests
conda install pyinstaller
打开登录界面,填入你自己的账号和密码(先别点击登录),然后按下 F12
点击了登录后:
这个 URL 中包含了学号和密码和IP(上图打码的地方);使用 GET 方式来登录,这意味着我们的账号和密码是直接以明文的形式出现在 URL 中,通过 GET 请求来登录校园网会方便很多
如果学校是像这样用 GET 请求直接登录的,可以试试复制,直接访问这个URL,如果可以直接登录,那边可以按照接下来的方法实现自动登录
一般直接替换schoolWebLoginURL 为前文URL,将schoolWebURL替换为学校的验证网址,即可实现本机登录;
为便于打包使用、修改账号密码以及在不同的主机使用
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)
# 正则表达式,匹配标签中的内容
pattern = re.compile('(.*?) ', re.S)
title = re.findall(pattern, response.text)
title = title[0] # 将格式转为字符串
# print(title)
if title == '注销页': # 根据上面的分析填入相应的字符
# print("保持登录,请不要关闭窗口...")
time.sleep(60*60)
pass
else:
# 使用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即为正常状态 不要关闭窗口可保持校园网登录(每小时自动检查一次登录状态),不慎关闭可重新打开
设置开机启动之后,开机即可自动登录校园网,不要关闭窗口