此篇文章将利用 Python 实现自动登录校园网(PC端)
参考
目录
- 连接校园网
- 分析校园网登录页面
- 安装库和编写代码
- 运行代码
- 打包代码
- 设置开机自动运行
- 友情链接
1. 连接校园网 (网线、WiFi都可以)
如果是用 WiFi 的话要勾选上自动连接
2.分析校园网登录页面
打开你的浏览器
在浏览器中输入你自己学校的校园网登录页面的IP
进入如下页面:
填入你自己的账号和密码(先别点击登录),然后按下 F12 ,按照下图的指示操作:
点击了登录后:
发现这一长串的 URL 和我们想要请求的 URL 好像差的太远
但是! 如果你多看一眼你会发现在这个 URL 中包含了学号和密码 ! (上图打码的地方)
好家伙,居然是直接使用 GET 方式来登录,这意味着我们的账号和密码是直接以明文的形式出现在 URL 中
这是非常危险的做法,很容易暴露账号和密码等信息,所以只有极少的网站会用 GET 请求来做登录功能
但对于我们来说,通过 GET 请求来登录校园网会方便很多
如果你学校是像这样用 GET 请求直接登录的,你可以这样试试:
- 复制那个包含你账号和密码的 URL
- 断开你的校园网
- 然后在浏览器地址栏中粘贴你刚刚复制的 URL,然后回车
- 看看校园网是否正常登录
如果可以那就很简单了,4行代码就能搞定(直接用 GET 方式请求这个 URL)
如果你的校园网不是用 GET 方式来登录的话,那肯定就是用 POST 啦
继续往下看
我们点击 Clear 按钮:
然后再刷新一下,按照下图操作:
我们需要用 POST 方式把表单发送给要请求的 URL
账号和密码是存放在表单中的,这样账号和密码就不会暴露在 URL 中
以上就是网页的分析,下面我们要开始写代码了
3.安装库和编写代码
3.1 安装库
打开你的 Pycharm (或者别的IDE也可以)
先创建一个新项目,用于后续编写代码
注意: 我们需要用到 requests 和 pyinstaller 这两个库,如果你没下载,可以按照下面提供的方法下载好
requests 这个库主要是用来向目标网页发送请求
pyinstaller 这个库用来将我们写好的代码打包成类似于 .exe 的可执行程序
下面是两种下载方法(任选其一即可)
方法一:可以在 cmd 下使用命令下载安装:
按下 WIN+R 组合键,然后在弹出的窗口中输入 cmd ,再按下回车
在 cmd 中输入:pip3 install requests
然后回车即可,等待下载完成
再次在 cmd 中输入:pip3 install pyinstaller
然后回车,等待它下载完成即可
方法二:可以在 Pycharm 里安装这些库
下面只演示安装 pyinstaller
在 Pycharm 中点击 File,再点击 Settings...:
然后按照下图依次选中:
再按照下图操作:
等待安装即可,安装 requests 的话也是同理
以上方法一和方法二都行,选择其中一个即可
3.2 编写代码
通过刚才校园网页面的分析选择下面这两种代码其中一个即可
- 使用 GET 方式登录校园网
# _*_ coding : utf-8 _*_
# @Time : 2022/6/22 15:58
# @Author : Cosmica
# @File : AutoLogin
# @Project : SchoolWebAutoLogin
import requests # 用于向目标网站发送请求
url = '这里填入带有你账号和密码的URL'
response = requests.get(url).status_code # 直接利用 GET 方式请求这个 URL 同时获取状态码
print("状态码{}".format(response)) # 打印状态码
- 使用 POST 方式登录校园网
# _*_ coding : utf-8 _*_
# @Time : 2022/6/22 15:58
# @Author : Cosmica
# @File : AutoLogin
# @Project : SchoolWebAutoLogin
import requests # 用于向目标网站发送请求
url = '填入你学校的校园网登录页IP地址' # 这行是你需要根据自己的情况修改的地方
data = {
"DDDDD": '填入你的学号', # 这行是你需要根据自己的情况修改的地方
"upass": '填入你的密码', # 这行是你需要根据自己的情况修改的地方
# 下面的这些一般可以直接用(不用改),也有可能要根据你自己的浏览器中的data(数据)做些修改
"R1": "0",
"R3": "1",
"R6": "0",
"pare": "00",
"OMKKey": "123456",
}
# 下面这整个 header 都是需要根据网页中的请求头来做修改
# 下面这个 header 是我的,你需要按照你自己浏览器中出现的 Response Headers (请求标头)来修改
header = {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
"Accept-Encoding": "gzip, deflate",
"Accept-Language": "en-US,en;q=0.9",
"Cache-Control": "max-age=0",
"Connectin": "keep-alive",
"Host": "172.16.30.45",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36 Edg/95.0.1020.53",
}
response = requests.post(url, data, headers=header).status_code # POST 方式向 URL 发送表单,同时获取状态码
print("状态码{}".format(response)) # 打印状态码
4.运行代码
写完代码后,断开你的校园网(点击注销就行):
然后运行你的 Python 代码,可以看到返回的状态码是200:
然后回到浏览器中刷新一下校园网页面:
可以看到确实登录成功了!
这样我们就通过运行 Python 代码登录校园网了
下面将介绍如何把我们刚刚写好的 Python 代码打包成 .exe 可执行程序并且在开机时自动执行
5.打包代码
1.在 cmd 下进入你代码文件存放的目录下
找到代码所在的目录然后按照下图操作:
这时弹出了一个 cmd 窗口,可以看到路径正是我们代码的存放路径:
直接在 cmd 中输入:pyinstaller -F AutoLogin.py
上面这行命令中的 AutoLogin.py 是我的 Python 代码文件名,你需要替换为你自己的 Python 代码文件名
等待它打包完成即可
完成后会像这样多出一些文件:
在 dist 目录下就有一个 .exe 程序:
你可以像刚才那样断开校园网然后运行这个 .exe 程序看看能否正常登录校园网
这样我们就把我们写的代码打包好了
下面开始介绍如何在电脑开机时就运行这个可执行程序
6.设置开机自动运行
右键此电脑然后点击管理:
然后按照下图操作:
在新出现的窗口中:
取好名字之后点下一步:
这里我们勾选:计算机启动时
再点击下一步:
选择启动程序,继续下一步:
点击浏览,然后选择刚刚打包好的 .exe 程序
继续下一步
点击完成,然后在出现的窗口中:
然后点击条件,按照你需要的自行设置:
再点击设置,同样自行设置:
点击确定后会有如下弹窗:
输入你的开机密码就行
通过以上步骤我们就实现了每次开机的时候自动登录校园网,再也不用每次都要开浏览器自己手动登录了
快断开你的校园网然后重启你的电脑试试看吧