华南师范大学校园网自动登录教程


前言

华南师范大学的校园网只能够无感认证三台机器,但是新老手机、平板再加电脑就四台了,自己又是个懒比,不想每次都点击认证,所以搜了很多教程最后实现了电脑端自动登陆。


一、采集自己的登录信息

1、在登录页面点击F12,进入开发者选项。
在这里插入图片描述
2、自行输入账号密码,点击连接;找到如下的记录。
在这里插入图片描述
3、找到标头和负载,记录下三条信息:标头中的请求url;标头中的请求标头;负载中的表单数据。
(1)标头中的请求url
标头中的请求url
(2)标头中的请求标头
标头中的请求标头

(3)负载中的表单数据
负载中的表单数据

二、将自己的登录信息输入到代码中

代码如下(示例):

import requests
import os
import time
from win10toast import ToastNotifier

# 自定义windows通知的图标
success_icon = "D:\progame files\WindowsGet\ico\Check.ico"

se = requests.Session()
url = 'https://wifi.scnu.edu.cn:8443/eportal/InterFace.do?method=login'
# 标头中的请求url

headers = {
    'Accept': '*/*',
    'Accept-Encoding': 'gzip, deflate, br',
    'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
    'Connection': 'keep-alive',
    'Content-Length': '864',
    'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
    'Cookie': 'EPORTAL_COOKIE_SERVER=; EPORTAL_COOKIE_OPERATORPWD=; EPORTAL_COOKIE_DOMAIN=; EPORTAL_AUTO_LAND=; EPORTAL_COOKIE_SAVEPASSWORD=true; EPORTAL_COOKIE_USERNAME=20182121024; EPORTAL_COOKIE_PASSWORD=43164f1380186fbc739c06fe0fc06ef304afde47283b6df9a866684ce79f3eb2772b80ac4928753784b65199bbbf0a7ee3ed0b4a9780762b17cbbe17cd1165438c936d789dd6b543a0ed03ad8f4d5752b51629dde6b777d77f61f4b9887c2ad52847f98f2f80466c833e71ba0f317e09aca07693e44638673844d79a6d08da6a; EPORTAL_USER_GROUP=root; EPORTAL_COOKIE_SERVER_NAME=; JSESSIONID=4512E35AA85E9A893A1031865F77267D; client_vpn_ticket=gXFmvtfed7sSwsaq; UM_distinctid=18097b1b86310b-014dc7eb799251-12333272-e1000-18097b1b864a8c',
    'Host': 'wifi.scnu.edu.cn:8443',
    'Origin': 'https://wifi.scnu.edu.cn:8443',
    'Referer': 'https://wifi.scnu.edu.cn:8443/eportal/index.jsp?wlanuserip=ceb5ff0c2ce3369c9347490602b5d715&wlanacname=30cdd1d84f49cd52&ssid=&nasip=9f0d9ecb95d690499cd8a54b799b4865&snmpagentip=&mac=820c69e40b6f0dfab9f46507103f36de&t=wireless-v2&url=8f566ce31cdfa84700a57aad950a3dd11eaff7bc47ae1f9a&apmac=&nasid=30cdd1d84f49cd52&vid=7f9db0aede5e6c73&port=46390340de4a6747&nasportid=ff82beaac0b291b6872bdec0c2e51fdc0d6368165143b7711dfd77bcf386ff5b426abc4f02cdb7da',
    'sec-ch-ua': '"Not A;Brand";v="99", "Chromium";v="102", "Google Chrome";v="102"',
    'sec-ch-ua-mobile': '?1',
    'sec-ch-ua-platform': 'Android',
    'Sec-Fetch-Dest': 'empty',
    'Sec-Fetch-Mode': 'cors',
    'Sec-Fetch-Site': 'same-origin',
    'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Mobile Safari/537.36'
}  # 标头中的请求标头

data = {
    "userId": "20182121024",
    "password": "43164f1380186fbc739c06fe0fc06ef304afde47283b6df9a866684ce79f3eb2772b80ac4928753784b65199bbbf0a7ee3ed0b4a9780762b17cbbe17cd1165438c936d789dd6b543a0ed03ad8f4d5752b51629dde6b777d77f61f4b9887c2ad52847f98f2f80466c833e71ba0f317e09aca07693e44638673844d79a6d08da6a",
    "service": "",
    "queryString": "wlanuserip%3Dceb5ff0c2ce3369c9347490602b5d715%26wlanacname%3D30cdd1d84f49cd52%26ssid%3D%26nasip%3D9f0d9ecb95d690499cd8a54b799b4865%26snmpagentip%3D%26mac%3D820c69e40b6f0dfab9f46507103f36de%26t%3Dwireless-v2%26url%3D8f566ce31cdfa84700a57aad950a3dd11eaff7bc47ae1f9a%26apmac%3D%26nasid%3D30cdd1d84f49cd52%26vid%3D7f9db0aede5e6c73%26port%3D46390340de4a6747%26nasportid%3Dff82beaac0b291b6872bdec0c2e51fdc0d6368165143b7711dfd77bcf386ff5b426abc4f02cdb7da",
    "operatorPwd": "",
    "operatorUserId": "",
    "validcode": "",
    "passwordEncrypt": "true"
}  # 负载中的表单数据


def auto_wifi():
    global url
    global headers
    global data
    while True:
        result = os.system(u"ping baidu.com -c 5 -W 1")
        if result != 0:
            # 自动登录
            content = se.post(url, data=data, headers=headers)
            if content.json().get('result') == 'success':
                # 控制台打印提示、windows通知提示
                print("online1")
                ToastNotifier().show_toast(title="登录成功",
                                           msg="校园网状态",
                                           icon_path=success_icon,
                                           duration=5,
                                           threaded=False)
                break
        print("wait 30s")
        time.sleep(30)


auto_wifi()


三、生成exe文件

1、在PyCharm内下载安装pyinstalle库
在这里插入图片描述
在这里插入图片描述
2、在控制台进入pyinstaller .exe所在的文件路径
在这里插入图片描述
在这里插入图片描述
3、将py文件复制到文件路径
在这里插入图片描述

4、输入命令
pyinstaller -w -F main.py
在这里插入图片描述
在这里插入图片描述

5、在dist文件夹可以找到生成的exe文件
在这里插入图片描述

四、设置自动启动

1、使用快捷键win+s,在windows中搜索“任务计划程序”
在这里插入图片描述
2、创建任务
(1)操作–>创建任务–>输入名称–>勾选使用最高权限–>配置选择windows10在这里插入图片描述
在这里插入图片描述
(2)点击新建触发器–>开始任务选择“工作站解锁时”–>延迟任务时间选择“3秒”
在这里插入图片描述
在这里插入图片描述
(3)点击新建操作–>选择刚才创建的exe文件
在这里插入图片描述
在这里插入图片描述
(4)点击条件–>取消勾选“只有在计算机使用交流电源时才启动此任务”
在这里插入图片描述
(5)完成配置
在这里插入图片描述

五、总结

1、网上的很多教程不适合华师的校园网,那些登陆都是get类型,而华师的校园网登陆是post类型。
在这里插入图片描述
在这里插入图片描述

2、参考了一些其他优秀博主的博客,链接如下:
get型自动登陆:https://www.bilibili.com/video/BV14Y4y1t7Nc?spm_id_from=333.1007.top_right_bar_window_history.content.click
post型自动登陆:https://blog.csdn.net/u012781242/article/details/123596346
py文件生成exe文件:https://blog.csdn.net/shunshunss/article/details/122971779
自动启动exe文件:https://www.bilibili.com/video/BV14Y4y1t7Nc?spm_id_from=333.1007.top_right_bar_window_history.content.click
显示通知:https://jingyan.baidu.com/article/6181c3e085547c542ef153ed.html
3、如果程序执行了却并没有显示通知,则要将windows的通知权限打开。https://jingyan.baidu.com/article/6181c3e085547c542ef153ed.html
4、注意路径中不要有中文。
5、代码中的“自定义windows通知的图标可有可无,具体对比如下图。
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值