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()  # 输出

目录
相关文章
|
1月前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
眼疾识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了4种常见的眼疾图像数据集(白内障、糖尿病性视网膜病变、青光眼和正常眼睛) 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,实现用户上传一张眼疾图片识别其名称。
117 5
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
|
2月前
|
机器学习/深度学习 人工智能 算法
猫狗宠物识别系统Python+TensorFlow+人工智能+深度学习+卷积网络算法
宠物识别系统使用Python和TensorFlow搭建卷积神经网络,基于37种常见猫狗数据集训练高精度模型,并保存为h5格式。通过Django框架搭建Web平台,用户上传宠物图片即可识别其名称,提供便捷的宠物识别服务。
328 55
|
3月前
|
数据采集 缓存 定位技术
网络延迟对Python爬虫速度的影响分析
网络延迟对Python爬虫速度的影响分析
|
3月前
|
Python
Python中的异步编程:使用asyncio和aiohttp实现高效网络请求
【10月更文挑战第34天】在Python的世界里,异步编程是提高效率的利器。本文将带你了解如何使用asyncio和aiohttp库来编写高效的网络请求代码。我们将通过一个简单的示例来展示如何利用这些工具来并发地处理多个网络请求,从而提高程序的整体性能。准备好让你的Python代码飞起来吧!
148 2
|
19天前
|
安全 Linux 网络安全
利用Python脚本自动备份网络设备配置
通过本文的介绍,我们了解了如何利用Python脚本自动备份网络设备配置。该脚本使用 `paramiko`库通过SSH连接到设备,获取并保存配置文件。通过定时任务调度,可以实现定期自动备份,确保网络设备配置的安全和可用。希望这些内容能够帮助你在实际工作中实现网络设备的自动化备份。
45 14
|
2月前
|
机器学习/深度学习 人工智能 算法
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
宠物识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了37种常见的猫狗宠物种类数据集【'阿比西尼亚猫(Abyssinian)', '孟加拉猫(Bengal)', '暹罗猫(Birman)', '孟买猫(Bombay)', '英国短毛猫(British Shorthair)', '埃及猫(Egyptian Mau)', '缅因猫(Maine Coon)', '波斯猫(Persian)', '布偶猫(Ragdoll)', '俄罗斯蓝猫(Russian Blue)', '暹罗猫(Siamese)', '斯芬克斯猫(Sphynx)', '美国斗牛犬
218 29
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
|
2月前
|
算法 网络协议 Python
探秘Win11共享文件夹之Python网络通信算法实现
本文探讨了Win11共享文件夹背后的网络通信算法,重点介绍基于TCP的文件传输机制,并提供Python代码示例。Win11共享文件夹利用SMB协议实现局域网内的文件共享,通过TCP协议确保文件传输的完整性和可靠性。服务器端监听客户端连接请求,接收文件请求并分块发送文件内容;客户端则连接服务器、接收数据并保存为本地文件。文中通过Python代码详细展示了这一过程,帮助读者理解并优化文件共享系统。
|
2月前
|
机器学习/深度学习 人工智能 算法
深度学习入门:用Python构建你的第一个神经网络
在人工智能的海洋中,深度学习是那艘能够带你远航的船。本文将作为你的航标,引导你搭建第一个神经网络模型,让你领略深度学习的魅力。通过简单直观的语言和实例,我们将一起探索隐藏在数据背后的模式,体验从零开始创造智能系统的快感。准备好了吗?让我们启航吧!
105 3
|
3月前
|
网络安全 Python
Python网络编程小示例:生成CIDR表示的IP地址范围
本文介绍了如何使用Python生成CIDR表示的IP地址范围,通过解析CIDR字符串,将其转换为二进制形式,应用子网掩码,最终生成该CIDR块内所有可用的IP地址列表。示例代码利用了Python的`ipaddress`模块,展示了从指定CIDR表达式中提取所有IP地址的过程。
81 6
|
3月前
|
机器学习/深度学习 自然语言处理 语音技术
Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧
本文介绍了Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧,并通过TensorFlow和PyTorch等库展示了实现神经网络的具体示例,涵盖图像识别、语音识别等多个应用场景。
107 8

热门文章

最新文章