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

一、打开网页,但是先不登录

二、F12打开开发者工具,点击网络,勾选保留日志(防止日志丢失)

三、登录账号,观察连接后日志的变化

根据user_account及password的值可知,这是我们登录的账号密码。并且采用的是GET方法来进行连接,复制包含账号密码的URL

由于每次分配的wlan_user_ip地址是不同的,所以需要通过psutil库来动态获取

四、安装requests、pyinstaller、psutil库

win+R 打开cmd (输入下列命令安装对应的库

pip3 install requests
pip3 install pyinstaller
pip3 install psutil

五、打开Pycharm(或其他py编译器

由于每次连接分配的ipv4地址会变,所以要通过psutil库来获取

import psutil

info = psutil.net_if_addrs()
wlan=info['WLAN']  # 获取wlan对应的ipv4地址

输出如下图:

观察到红线处就是我们需要的地址,且网络前缀是不会变化的,可以很容易的提取出地址(赋给ip

最后只需把复制的url中wlan_user_ip的值修改为ip的值

url = f"......刚刚复制的url......wlan_user_id={ip}......."

断网重连:

连接成功时,网页的title是注销页,所以只需判断title是否等于‘注销页’就可在断网时自动重新连接

(可以用time.sleep()来控制多久检测一次

完整代码:

import time
import requests
import psutil
import re    # 正则表达式,用于匹配字符

info = psutil.net_if_addrs()
wlan=info['WLAN']  # 获取wlan对应的ipv4地址
for i in wlan:
    for j in i:
        if '10.21' in str(j):
            ip = j
url = f"......刚刚复制的url......wlan_user_id={ip}......."

while True:
    response = requests.get(url)
    # 正则表达式,匹配<title>标签中的内容
    pattern = re.compile('<title>(.*?)</title>', re.S)
    title = re.findall(pattern, response.text)

    if title == '注销页':    # title为注销页说明已登录
        time.sleep(60) 
    else:
        requests.get(url)

六、测试

运行代码,注销登录,刷新页面查看是否自动连接

七、打包代码

1、打包为bat文件

找到刚刚运行的代码所在的目录

 

新建文本文件,把文本文件的后缀改为bat

然后右键编辑,输入(如下图)

!!!注意:要输入完整路径,这样才可以在任何地方都能运行,才能完成之后的开机自启动

 python 你的py文件完整路径

 保存

2、设置为后台运行(如果要设置自动重连的话,建议设置为后台运行文件

 新建文本文件,把文本文件的后缀改为vbs

右键编辑(第二行对应的bat文件名要改为上一步创建的bat文件

Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c D:\Python_code\auto_connection\start.bat",0

八、设置开机自启动

win + R   输入   shell:startup 

跳转到开机启动文件夹,把刚刚创建的vbs文件拖到此文件夹中就好了

九、参考

自动登录校园网脚本(Python实现) - Cosmica的文章 - 知乎

https://zhuanlan.zhihu.com/p/370801224

  • 7
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值