栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

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

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

文章目录
  • 前言
  • 一、采集自己的登录信息
  • 二、将自己的登录信息输入到代码中
  • 三、生成exe文件
  • 四、设置自动启动
  • 五、总结


前言

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


一、采集自己的登录信息

1、在登录页面点击F12,进入开发者选项。

2、自行输入账号密码,点击连接;找到如下的记录。

3、找到标头和负载,记录下三条信息:标头中的请求url;标头中的请求标头;负载中的表单数据。
(1)标头中的请求url

(2)标头中的请求标头

(3)负载中的表单数据

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

代码如下(示例):

import requests
import os
import time
from win10toast import ToastNotifier

#自定义windows通知的图标
success_icon = "D:progame filesWindowsGeticoCheck.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通知的图标可有可无,具体对比如下图。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/953555.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号