本教程也可适用于校园网用 GET 方法发送网页请求的高校,可按需修改。
这里附上网址:/
打开之后先别登录,右键空白区域点击“检查”或者按“f12”打开开发人员工具,选到“网络”,把下面的“保留日志”给选上
这时我们输入我们的账号密码,选择正确的运营商登录,然后就能在右边看到一堆信息,然后找到我们需要的“login”开头的登录信息,这个信息不一定在第一行,只要找到就行,然后点击表头,把那个“请求URL”后面的东西复制备用:
经过观察发现,这个网页用get方法去响应,我们只需修改user_account,user_password,wlan_user_ip为自己的信息就能登录了。
新建一个python文件名为:“InternetConnect”
因为我们的IP地址不一定不变,这里直接采用hostbyname()方法
import socket
hostname = hostname() #获取本机计算机名称
ip = hostbyname(hostname) #获取本机ip
然后再把我们刚才的ULR地址处理一下,里面的user_account:
电信账号是:一卡通号@telecom
移动账号是:一卡通号@cmcc
联通账号是:一卡通号@unicom
密码就是一卡通密码
下面的代码要在“user_account=”后面加上自己的账号,“user_password=”后面接自己的密码
a = ':801/eportal/portal/login?callback=dr1003&login_method=1&user_account=&user_password=&wlan_user_ip='
b = '&wlan_user_ipv6=&wlan_user_mac=000000000000&wlan_ac_ip=&wlan_ac_name=&jsVersion=4.1.3&terminal_type=1&lang=zh-cn&v=3995&lang=zh'
这时候我们在“a”和“b”这两个字符串中加入我们之前获得的ip地址,拼接成一个新的字符串ULR地址:
url = a + ip + b
最后我们把这个ulr作为()的参数就可以了
import requests #用于向目标网站发送请求
r = (url) #ulr为你刚才复制的地址
r.close()
这里附上(未完善的)代码:
import requests # 用于向目标网站发送请求
import socket
# 获取本机计算机名称
hostname = hostname()
# 获取本机ip
ip = hostbyname(hostname)
a = ':801/eportal/portal/login?callback=dr1003&login_method=1&' 'user_account=&user_password=&wlan_user_ip='
b = '&wlan_user_ipv6=&wlan_user_mac=000000000000&wlan_ac_ip=&wlan_ac_name=' '&jsVersion=4.1.3&terminal_type=1&lang=zh-cn&v=3995&lang=zh'
url = a + ip + b
r = (url)
r.close()
如果第一行有报错的可以使用pip命令去安装我们的requests库,这里提供两个安装的办法:
我们把鼠标放旁边就会提示我们去安装这个包
同时按下win+r键,输入cmd,打开我们黑漆漆的窗口后直接输入下面命令,如果有其他错误可以先试着升级一下pip,具体百度
pip install requests
这一步和上面两步大同小异,就是下载的地方不一样。
终端具体位置如下图所示:
但是我们的代码还没完善,可能会有max retires error 11001 等错误信息(我一开始就是这里一直报错,虽然后面能正常联网,但是会弹出一个错误窗口,非常不美观!),这里我们还需要做一个异常的处理,代码如下,自行修改a的值(看上面)
附代码:
try:import requests # 用于向目标网站发送请求import socket# 获取本机计算机名称hostname = hostname()# 获取本机ipip = hostbyname(hostname)a = ':801/eportal/portal/login?callback=dr1003&login_method=1&' 'user_account=&user_password=&wlan_user_ip='b = '&wlan_user_ipv6=&wlan_user_mac=000000000000&wlan_ac_ip=&wlan_ac_name=' '&jsVersion=4.1.3&terminal_type=1&lang=zh-cn&v=3995&lang=zh'url = a + ip + br = (url)r.close()
ptions.ConnectionError:print(ptions.ConnectionError")
然后我们先去网页把账号注销,然后直接运行这个程序,刷新页面如果能正常显示“你已经成功登录”就能进行下一步,或者去前面找原因
利用ping指令与百度官网测试是否联通,直接给上最后代码,记得加上自己的用户名和密码,前面提到
import re
import requests # 用于向目标网站发送请求
import socketdef Statu(): # 监测是否断网try:q = ("", timeout=500)m = re.search(r'STATUS OK', q.text)if m:print("Connect Success")return 0else:print("Connect Failed")return 1except :pass
def login():try:# 获取本机计算机名称hostname = hostname()# 获取本机ipip = hostbyname(hostname)a = ':801/eportal/portal/login?callback=dr1003&login_method=1&' 'user_account=&user_password=&wlan_user_ip='b = '&wlan_user_ipv6=&wlan_user_mac=000000000000&wlan_ac_ip=&wlan_ac_name=' '&jsVersion=4.1.3&terminal_type=1&lang=zh-cn&v=3995&lang=zh'url = a + ip + br = (url)except :passwhile True:if Statu():login()else:print("ConnectSuccess")
如果不介意开机会弹出一个黑色框(所谓的“终端”),这步可跳过,不过可能有点影响美观!
用pip命令安装pyinstaller工具包来打包,win+r弹出输入cmd,直接输入:
pip install pyinstaller
期间有问题都可以百度自行解决,等待安装好之后我们可以在PyCharm下面找到“终端”打开
在这里面输入:
pyinstaller -F -w InternetConnect.py
其中-F表示对单个python文件打包,-w表示不显示终端窗口(这一步可以增强体验)然后“InternetConnect”就是我们的python源文件
然后在PyCharm找到我们的InternetConnect.py文件右键>打开于>文件资源管理器
然后打开“dist”文件夹里面就有一个打包好的名为“"的文件
右键复制文件地址备用
方法一:
1、快捷键Window徽标键+R键,打开“运行”程序。
2、运行,打开:输入compmgmt.msc敲回车。
3、就可以打开“计算机管理”。
方法二:
计算机右单击弹出快捷菜单选择管理,就可以打开计算机管理。
方法三:
任务栏搜索框里搜索计算机单击计算机管理,就可以打开计算机管理。
方法四:
开始右单击弹出快捷菜单选择计算机管理就可以打开计算机管理。
按win+x打开“计算机管理”,选择>系统工具>任务计划程序
然后执行下面操作
在右边点击“创建任务”
>常规 这里名称还是改为“InternetConnect”,注意勾选“只在用户登录时运行”,下图配置可改为windows10
>触发器>新建一个触发器,按如下设置:
>操作>新建一个操作 按下图操作,图中的程序或脚本下面的空行是我们刚才复制的文件的地址,(如果第三步跳过的,这里就是你python文件的路径),粘贴进去就行
>操作 注意这里要勾选:只有在以下网络连接可用是才启动”>任何网络,这样我们只要连上网络就会自动进行一个校园网的认证操作,(或者选择为连上学校WiFi“JXUST-WIFI”,仅适用于用WiFi连接校园网)
>设置 设置可以根据情况修改,但是第一个必须勾选
至此,大功告成,我们重启一下电脑登录以后等待几秒就能连上网络,大家快去试试吧~
全文的代码都没添加用户名和密码,需要自己添加
能力有限目前只能满足三江校区需求!!!
程序一旦启动就会一直自动认证,想要注销认证信息的同学先通过任务管理器把 的程序关闭!!!
有问题私信,看到会回
!!! 问题太久没回加QQ:571081022 备注 “江理校园网自动连接有问题” 否则不予理会
2023.5.24 增加了断网重连部分代码,修改部分错误
2023.6.22 把异常捕获的具体删除,能够捕获更多的异常类型,避免偶尔因为校园网已经连上了一台设备而引起的异常
2023.12.3 第二部分多增加了第三种下载requests库方法
2023.12.4 增加前言部分,扩大本教程适用范围
本文发布于:2024-02-03 03:37:03,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170690262448400.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |