自动登录校园网脚本(Python实现)

813 阅读6分钟

此篇文章将利用 Python 实现自动登录校园网(PC端)

参考

用Python自动登录校园网

目录

  1. 连接校园网
  2. 分析校园网登录页面
  3. 安装库和编写代码
  4. 运行代码
  5. 打包代码
  6. 设置开机自动运行
  7. 友情链接

1. 连接校园网 (网线、WiFi都可以)

如果是用 WiFi 的话要勾选上自动连接


2.分析校园网登录页面

打开你的浏览器

在浏览器中输入你自己学校的校园网登录页面的IP

进入如下页面:

填入你自己的账号和密码(先别点击登录),然后按下 F12 ,按照下图的指示操作:

点击了登录后:

发现这一长串的 URL 和我们想要请求的 URL 好像差的太远

但是! 如果你多看一眼你会发现在这个 URL 中包含了学号和密码 ! (上图打码的地方)

好家伙,居然是直接使用 GET 方式来登录,这意味着我们的账号和密码是直接以明文的形式出现在 URL 中

这是非常危险的做法,很容易暴露账号和密码等信息,所以只有极少的网站会用 GET 请求来做登录功能

但对于我们来说,通过 GET 请求来登录校园网会方便很多

如果你学校是像这样用 GET 请求直接登录的,你可以这样试试:

  1. 复制那个包含你账号和密码的 URL
  2. 断开你的校园网
  3. 然后在浏览器地址栏中粘贴你刚刚复制的 URL,然后回车
  4. 看看校园网是否正常登录

如果可以那就很简单了,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 程序

继续下一步

点击完成,然后在出现的窗口中:

然后点击条件,按照你需要的自行设置:

再点击设置,同样自行设置:

点击确定后会有如下弹窗:

输入你的开机密码就行

通过以上步骤我们就实现了每次开机的时候自动登录校园网,再也不用每次都要开浏览器自己手动登录了

快断开你的校园网然后重启你的电脑试试看吧


7.友情链接

Python打包成exe终极方案

别再问我怎么Python打包成exe了!