前言每次在寝室打开电脑,插上网线(或打开WiFi),连接校园网时,都会跳出学校的网站,让你输入账户密码,登入,才可以使用校园网。 作为一个实打实的懒人,虽然有浏览器的记住密码功能,但我还是觉得麻烦,所以就有了今天这一期。 环境Win10 Python 3.9(其他版本也可) Edge(是个浏览器就行) 方法
你可以忽略此步。
你可能需要在cmd中键入: pip install requests 来安装requests库。
你需要下载安装并配置Python。 网址:https://www./ 鼠标放在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可放评论区或私信交流。 |
|