懒人一键解决:每次连接校园网Web验证登录
前言
每次在寝室打开电脑,插上网线(或打开WiFi),连接校园网时,都会跳出学校的网站,让你输入账户密码,登入,才可以使用校园网。
作为一个实打实的懒人,虽然有浏览器的记住密码功能,但我还是觉得麻烦,所以就有了今天这一期。
环境
Win10
Python 3.9(其他版本也可)
Edge(是个浏览器就行)
方法
如果你有 Python3.X 版本
你可以忽略此步。
如果你有Python,但是版本<3.0
你可能需要在cmd中键入:
pip install requests
来安装requests库。
如果你没有Python
你需要下载安装并配置Python。
网址:https://www.python.org/
鼠标放在Downloads上,单击Python 3.9.1,进行下载。
请一定一定一定要勾选 Add Python 3.9 to PATH ,并记住安装路径。
打开安装包,选择 Install Now ,勾选 Add Python 3.9 to PATH ,开始安装。
完成后单机 Close ,Disable path length limit 可选可不选。
你可能会碰到以下问题:
① 如果你选择了 Customize installation
默认下去就行。
② 如果你没有选择 Add Python 3.9 to PATH
请右击“此电脑” —> 属性 —> 高级系统设置 —> 环境变量 —> 用户变量中的Path —> 新建
你需要新建如下两个:
C:\Program Files (x86)\Python39\Scripts\
C:\Program Files (x86)\Python39\
注意:需要使用你自己的路径!
③ 如果你需要检测自己的Python是否配置成功,你可以:
Win+R 输入 cmd 确认,在cmd中输入:
python
如果现实与下方相似,则配置成功。
(至此,环境配置结束)
打开你的校园网Web验证网页
这里以我校寝室网为例:
此时不先急着登录,在此状态下按下 F12 ,选择 Network ,勾选 Preserve log 。
现在键入你的账号密码登录,你会发现有如下信息出现(选择Name列第一个的Headers):
你需要用到的信息是其中的 Request Headers 和 Form Data ,将它们复制到记事本中,并加工成如下形式(对冒号两边的键值对加上双引号,之后在最后面加上逗号):
'Connection' : 'keep-alive',
(至此,可以开始编写代码了)
你可以新建一个记事本来撸代码,当然如果你有IDE的话就更好了。
模板代码
import requests #导入 requests 库
url = '(放入校园网认证网页的网址)' #校园网认证网页的网址
data = { # 登录信息
(放入处理好的 Form Data)
}
header = { # 模拟网站
(放入处理好的 Request Headers)
}
response = requests.post(url,data,headers=header).status_code # 上传连接信息至学校服务器
print('响应代码{}'.format(response)) # 返回连接结果
示例代码
import requests #导入 requests 库
url = 'http://192.168.?.?/' #校园网认证网页的网址
data = { # 登录信息
'DDDDD' : '20180232????', # 账号
'upass' : '??????', # 密码
'0MKKey' : '(unable to decode value)',
}
header = { # 模拟网站
'Accept' : 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'Accept-Encoding' : 'gzip, deflate',
'Accept-Language' : 'zh-CN,zh;q=0.9,en;q=0.8,en-US;q=0.7',
'Cache-Control' : 'max-age=0',
'Connection' : 'keep-alive',
'Content-Length' : '52',
'Content-Type' : 'application/x-www-form-urlencoded',
'Host' : '192.168.?.?',
'Origin' : 'http://192.168.?.?',
'Referer' : 'http://192.168.?.?/',
'Sec-GPC' : '1',
'Upgrade-Insecure-Requests' : '1',
'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.101 Safari/537.36',
}
response = requests.post(url,data,headers=header).status_code # 上传连接信息至学校服务器
print('响应代码{}'.format(response)) # 返回连接结果
注意:
①所有字符都是在英文输入法下输入。
②请一定注意缩进和保证缩进格式相同。
如果你是要记事本撸的代码,撸完之后保存并重命名为 SchoolNetLogin.py 。
SchoolNetLogin 是你取的名字,.py是后缀名(请确保这一点)。
之后双击就可以运行了。
(至此,代码完成)
如果你想开机启动这个程序:
在搜索框中输入计划任务打开,创建基本任务。
填写名称和描述。
触发器选择计算机启动时。
操作选择选择程序。
添加你刚刚写好的脚本,其余不填。
完成。
(至此,开机启动完成)
缺点
只能用于Web认证且无验证码的校园网登录。
后记
其实这文章扯的比较多,把Python的配置和win计划任务都讲了。这个代码也是初级的,功能不是很多,也可能会出错。de出来的bug可放评论区或私信交流。