python实现认证校园网络一键上线

简介: 我是以校园网为例子的,其他的认证网络应该也是可以的。

校园网认证每次都要输入账号密码,很麻烦(小声嘀咕:虽然有浏览器的记录账号密码)

主要逻辑就是request的post方法,只不过把账号密码加到里面了而已。


写好代码以后cmd里面输入# 打包命令

# pyinstaller -D -w -i 1.ico 一键校园网.py

就能得到一个自己的小程序了。


# 导入库

import tkinter as tk

import requests

 

 

def click_button():

   # tinker界面上线按钮逻辑函数

   # 进行post请求

   z = requests.post(post_addr, data=post_data, headers=post_header)

   html = z.content.decode('utf-8')

   print(html)

   # 根据返回html进行处理

   if "success" in html:

       if "在线" in html:

           if "当前已用" in html:

               x = html.split('"')[11]

           else:

               x = (html.split('"')[11])[-5:]

       else:

           q = html.split('"')[7]

           x = q + " Y"

   else:

       if "上限" in html:

           z = requests.post(post_addr, data=post_data3, headers=post_header)

           html = z.content.decode('utf-8')

           if "success" in html:

               q = html.split('"')[7]

               x = q + " W"

       else:

           x = html.split('"')[9]

   # 调用提示框

   print(html)

   quit(x)

 

def click_button2():  # tinker界面下线按钮逻辑函数

   # 进行post请求

   s = requests.post(post_addr2, data=post_data2, headers=post_header2)

   html = s.content.decode('utf-8')

   # 根据返回html进行处理

   x = html.split('"')[7]

   quit(x)

 

def quit(x):  # 设置提示框以及退出罗辑

   print(x)

   root = tk.Tk()

   root.geometry('400x50+720+560')  # 大小、位置

   root.configure(bg='white')

   root.title('   ')

   tk.Label(root, text=x, justify='left', anchor='nw', font=('楷体', 20), fg='black', bg='white', padx=20,

            pady=10, ).pack()  # 内容的格式和位置

   # 自动退出

   if x[0:2] in ['su', '已经', '下线']:  # quit函数会根据此列表来判断时候成功运行自动关闭

       root.after(700, root.destroy)

       window.after(900, window.destroy)

       return

   root.after(400, root.destroy)

 

 

post_data = {  # 上线按钮post方法传入表单

   'userId': '1111111',

   'password': '1111',

   'method': 'login',

   'queryString': 'wlanuserip%3Dba98f72ba688ba1b2e6956adfd675f5f%26wlanacname%3D9849cc5fe582c551d9e3eed4cf0d73c4%26ssid%3D%'

                  '26nasip%3D518f32fe1f6799fd406a10390c7639d5%26snmpagentip%3D%26mac%3Dce72abdafb3b5f373ee63af4e3feb19a%26t%'

                  '3Dwireless-v2%26url%3Df096fb179a85a017da7bcd02fa355b6f2203c39847362bc0%26apmac%3D%26nasid%3D9849cc5fe582c'

                  '551d9e3eed4cf0d73c4%26vid%3Ddce772562596c610%26port%3D2fc6cb63f8cf7590%26nasportid%3D43511eea552cb67d88d6'

                  '841873c14058a52a3c79a14f2a4078dee814504073cb',

   'passwordEncrypt': 'false'

}

post_data2 = {  # 下线按钮post方法传入表单

   'method': 'logout'

}

post_data3 = {  # 上线按钮post方法传入表单

   'userId': '1111111',

   'password': '1111111',

   'method': 'login',

   'queryString': 'wlanuserip%3Dba98f72ba688ba1b2e6956adfd675f5f%26wlanacname%3D9849cc5fe582c551d9e3eed4cf0d73c4%26ssid%3D%'

                  '26nasip%3D518f32fe1f6799fd406a10390c7639d5%26snmpagentip%3D%26mac%3Dce72abdafb3b5f373ee63af4e3feb19a%26t%'

                  '3Dwireless-v2%26url%3Df096fb179a85a017da7bcd02fa355b6f2203c39847362bc0%26apmac%3D%26nasid%3D9849cc5fe582c'

                  '551d9e3eed4cf0d73c4%26vid%3Ddce772562596c610%26port%3D2fc6cb63f8cf7590%26nasportid%3D43511eea552cb67d88d6'

                  '841873c14058a52a3c79a14f2a4078dee814504073cb',

   'passwordEncrypt': 'false'

}

post_addr = "http://172.16.2.100/eportal/InterFace.do?method=login"  # 上线html地址

post_addr2 = "http://172.16.2.100/eportal/InterFace.do?method=logout"  # 下线html地址

post_header = {  # 模拟浏览器访问

   'Accept': '*/*',

   'Accept-Encoding': 'gzip, deflate',

   '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': '632',

   'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',

   'Cookie': 'EPORTAL_COOKIE_OPERATORPWD=; EPORTAL_COOKIE_SERVER=; EPORTAL_AUTO_LAND=; EPORTAL_COOKIE_DOMAIN=; EPORTAL_C'

             'OOKIE_SERVER_NAME=; EPORTAL_COOKIE_USERNAME=; EPORTAL_COOKIE_PASSWORD=; EPORTAL_COOKIE_SAVEPASSWORD=false; '

             'EPORTAL_USER_GROUP=2020%E7%BA%A7%E6%9C%AC%E7%A7%91; JSESSIONID=27ADED1AF4049155790B8130E68EDACE',

   'Host': '172.16.2.100',

   'Origin': 'http://172.16.2.100',

   'Referer': 'http://172.16.2.100/eportal/index.jsp?wlanuserip=ba98f72ba688ba1b2e6956adfd675f5f&wlanacname=9849cc5fe582'

              'c551d9e3eed4cf0d73c4&ssid=&nasip=518f32fe1f6799fd406a10390c7639d5&snmpagentip=&mac=ce72abdafb3b5f373ee63'

              'af4e3feb19a&t=wireless-v2&url=f096fb179a85a017da7bcd02fa355b6f2203c39847362bc0&apmac=&nasid=9849cc5fe582'

              'c551d9e3eed4cf0d73c4&vid=dce772562596c610&port=2fc6cb63f8cf7590&nasportid=43511eea552cb67d88d6841873c140'

              '58a52a3c79a14f2a4078dee814504073cb',

   'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safa'

                 'ri/537.36 Edg/107.0.1418.35',

}

post_header2 = {  # 模拟浏览器访问

   'Accept': '*/*',

   'Accept-Encoding': 'gzip, deflate ',

   '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': '128 ',

   'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8 ',

   'Cookie': 'EPORTAL_COOKIE_OPERATORPWD=; EPORTAL_COOKIE_SERVER=; EPORTAL_AUTO_LAND=; EPORTAL_COOKIE_DOMAIN=; EPORTAL_'

             'COOKIE_SERVER_NAME=; EPORTAL_COOKIE_USERNAME=; EPORTAL_COOKIE_PASSWORD=; EPORTAL_COOKIE_SAVEPASSWORD=false'

             '; EPORTAL_USER_GROUP=null; JSESSIONID=46F12FF101FA64ADA050C3C962B35718 ',

   'Host': '172.16.2.100 ',

   'Origin': 'http://172.16.2.100 ',

   'Referer': 'http://172.16.2.100/eportal/success.jsp?userIndex=3531386633326665316636373939666434303661313033393063373'

              '6333964355f31302e3130302e35352e3130315f303232393030323030333437 ',

   'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Saf'

                 'ari/537.36 Ed ',

}

window = tk.Tk()  # 设置主界面

window.title(''), window.geometry('600x150+600+500')  # 设置标题、大小、偏移量

window.configure(bg='white')

tk.Button(  # 设置tinker界面上线按钮

   window, text='上线',

   font=("得意黑", 50,),

   fg='#177cb0', bg='white',

   relief="flat",

   command=click_button).pack(expand=True, fill="both", side="left")

tk.Button(  # 设置tinker界面下线按钮

   window, text='下线',

   font=("得意黑", 50, ),

   fg='#177cb0', bg='white',

   relief="flat",

   command=click_button2).pack(expand=True, fill="both", side="left")

window.mainloop()  # 输出

目录
相关文章
|
8天前
|
数据采集 存储 API
Python 网络请求:深入理解Requests库
Python 网络请求:深入理解Requests库
38 0
|
6天前
|
机器学习/深度学习 存储 监控
数据分享|Python卷积神经网络CNN身份识别图像处理在疫情防控下口罩识别、人脸识别
数据分享|Python卷积神经网络CNN身份识别图像处理在疫情防控下口罩识别、人脸识别
17 0
|
8天前
|
机器学习/深度学习 算法 算法框架/工具
数据分享|PYTHON用KERAS的LSTM神经网络进行时间序列预测天然气价格例子
数据分享|PYTHON用KERAS的LSTM神经网络进行时间序列预测天然气价格例子
28 0
|
1天前
|
机器学习/深度学习 PyTorch TensorFlow
【Python机器学习专栏】循环神经网络(RNN)与LSTM详解
【4月更文挑战第30天】本文探讨了处理序列数据的关键模型——循环神经网络(RNN)及其优化版长短期记忆网络(LSTM)。RNN利用循环结构处理序列依赖,但遭遇梯度消失/爆炸问题。LSTM通过门控机制解决了这一问题,有效捕捉长距离依赖。在Python中,可使用深度学习框架如PyTorch实现LSTM。示例代码展示了如何定义和初始化一个简单的LSTM网络结构,强调了RNN和LSTM在序列任务中的应用价值。
|
1天前
|
机器学习/深度学习 PyTorch TensorFlow
【Python机器学习专栏】卷积神经网络(CNN)的原理与应用
【4月更文挑战第30天】本文介绍了卷积神经网络(CNN)的基本原理和结构组成,包括卷积层、激活函数、池化层和全连接层。CNN在图像识别等领域表现出色,其层次结构能逐步提取特征。在Python中,可利用TensorFlow或PyTorch构建CNN模型,示例代码展示了使用TensorFlow Keras API创建简单CNN的过程。CNN作为强大深度学习模型,未来仍有广阔发展空间。
|
1天前
|
机器学习/深度学习 自然语言处理 语音技术
【Python 机器学习专栏】Python 深度学习入门:神经网络基础
【4月更文挑战第30天】本文介绍了Python在深度学习中应用于神经网络的基础知识,包括神经网络概念、基本结构、训练过程,以及Python中的深度学习库TensorFlow和PyTorch。通过示例展示了如何使用Python实现神经网络,并提及优化技巧如正则化和Dropout。最后,概述了神经网络在图像识别、语音识别和自然语言处理等领域的应用,并强调掌握这些知识对深度学习的重要性。随着技术进步,神经网络的应用将持续扩展,期待更多创新。
|
2天前
|
网络协议 算法 网络架构
Python网络编程之udp编程、黏包以及解决方案、tcpserver
Python网络编程之udp编程、黏包以及解决方案、tcpserver
|
2天前
|
机器学习/深度学习 数据可视化 TensorFlow
Python中TensorFlow的长短期记忆神经网络(LSTM)、指数移动平均法预测股票市场和可视化
Python中TensorFlow的长短期记忆神经网络(LSTM)、指数移动平均法预测股票市场和可视化
10 0
|
3天前
|
存储 网络安全 数据安全/隐私保护
【专栏】Python 网络设备脚本中经常使用的 connecthandler 和 telnetlib 是什么意思
【4月更文挑战第28天】Python 网络设备管理中,`ConnectHandler`(Paramiko库)和`telnetlib`模块常用于设备交互。`ConnectHandler`简化SSH连接,便于与网络设备交互,而`telnetlib`是Python内置模块,支持Telnet协议的远程登录操作。两者都提供命令执行和响应接收功能。示例代码展示了如何使用它们获取防火墙设备的版本信息,降低了代码复杂度,提高了可读性和维护性。
|
3天前
|
存储 XML 自然语言处理
Python网络数据抓取(4):Beautiful Soup
Python网络数据抓取(4):Beautiful Soup
11 2