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

目录
相关文章
|
25天前
|
搜索推荐 程序员 调度
精通Python异步编程:利用Asyncio与Aiohttp构建高效网络应用
【10月更文挑战第5天】随着互联网技术的快速发展,用户对于网络应用的响应速度和服务质量提出了越来越高的要求。为了构建能够处理高并发请求、提供快速响应时间的应用程序,开发者们需要掌握高效的编程技术和框架。在Python语言中,`asyncio` 和 `aiohttp` 是两个非常强大的库,它们可以帮助我们编写出既简洁又高效的异步网络应用。
106 1
|
3天前
|
数据采集 存储 JSON
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第27天】本文介绍了Python网络爬虫Scrapy框架的实战应用与技巧。首先讲解了如何创建Scrapy项目、定义爬虫、处理JSON响应、设置User-Agent和代理,以及存储爬取的数据。通过具体示例,帮助读者掌握Scrapy的核心功能和使用方法,提升数据采集效率。
24 6
|
7天前
|
安全 网络安全 数据安全/隐私保护
|
12天前
|
存储 网络安全 数据安全/隐私保护
|
1天前
|
数据采集 存储 XML
Python实现网络爬虫自动化:从基础到实践
本文将介绍如何使用Python编写网络爬虫,从最基础的请求与解析,到自动化爬取并处理复杂数据。我们将通过实例展示如何抓取网页内容、解析数据、处理图片文件等常用爬虫任务。
|
4天前
|
数据采集 前端开发 中间件
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第26天】Python是一种强大的编程语言,在数据抓取和网络爬虫领域应用广泛。Scrapy作为高效灵活的爬虫框架,为开发者提供了强大的工具集。本文通过实战案例,详细解析Scrapy框架的应用与技巧,并附上示例代码。文章介绍了Scrapy的基本概念、创建项目、编写简单爬虫、高级特性和技巧等内容。
21 4
|
4天前
|
网络协议 物联网 API
Python网络编程:Twisted框架的异步IO处理与实战
【10月更文挑战第26天】Python 是一门功能强大且易于学习的编程语言,Twisted 框架以其事件驱动和异步IO处理能力,在网络编程领域独树一帜。本文深入探讨 Twisted 的异步IO机制,并通过实战示例展示其强大功能。示例包括创建简单HTTP服务器,展示如何高效处理大量并发连接。
19 1
|
5天前
|
数据采集 存储 机器学习/深度学习
构建高效的Python网络爬虫
【10月更文挑战第25天】本文将引导你通过Python编程语言实现一个高效网络爬虫。我们将从基础的爬虫概念出发,逐步讲解如何利用Python强大的库和框架来爬取、解析网页数据,以及存储和管理这些数据。文章旨在为初学者提供一个清晰的爬虫开发路径,同时为有经验的开发者提供一些高级技巧。
9 1
|
18天前
|
监控 Kubernetes Python
Python 应用可观测重磅上线:解决 LLM 应用落地的“最后一公里”问题
为增强对 Python 应用,特别是 Python LLM 应用的可观测性,阿里云推出了 Python 探针,旨在解决 LLM 应用落地难、难落地等问题。助力企业落地 LLM。本文将从阿里云 Python 探针的接入步骤、产品能力、兼容性等方面展开介绍。并提供一个简单的 LLM 应用例子,方便测试。
113 11
|
7天前
|
Kubernetes 网络协议 Python
Python网络编程:从Socket到Web应用
在信息时代,网络编程是软件开发的重要组成部分。Python作为多用途编程语言,提供了从Socket编程到Web应用开发的强大支持。本文将从基础的Socket编程入手,逐步深入到复杂的Web应用开发,涵盖Flask、Django等框架的应用,以及异步Web编程和微服务架构。通过本文,读者将全面了解Python在网络编程领域的应用。
8 1