AUST自助上网-Python

Ubanillx 发布于 2024-05-10 611 次阅读


from requests import post
import urllib.request
from urllib.error import URLError
from time import sleep
import threading

url = "http://10.255.0.19/a79.htm" #学校认证地址
print("----------------AUST-认证脚本------------------")
user = input("学号:")   #你的学号
password = input("密码:")    #你的密码
server = input("\n电信:aust\n联通:unicom\n移动:cmcc\n运营商: ")  #电信aust 联通改为 unicom 移动改为 cmcc
#发送的数据包
data = {
    "callback": "dr1003",
    "DDDDD": "{}@{}".format(user, server),
    "upass": "{}".format(password),
    "0MKKey": "123456",
    "R1": "0",
    "R3": "0",
    "R6": "0",
    "para": "00",
    "v6ip": "",
    "v": "" 
}

# 标志变量用于控制线程的执行
stop_flag = False


#检查是否连接到外部网络
def check_internet_connection():
    try:
        url = 'https://www.baidu.com'
        headers = {'User-Agent': 'Mozilla/5.0', 'Content-Length': '1'}  # Modify the Content-Length header value as needed
        req = urllib.request.Request(url, headers=headers)
        urllib.request.urlopen(req, timeout=1)
        return True
    except URLError:
        return False
    
#检查用户输入,并判断是否退出程序
def user_input_thread():
    while True:
        global stop_flag #引入全局变量
        user_input = input()  # 获取用户输入
        if (user_input.lower() == "q"):
            stop_flag = True #标志置是
            break #退出循环
        
# 创建一个线程来处理用户输入
input_thread = threading.Thread(target=user_input_thread)
input_thread.start()
#主函数(执行检测,并判断发送数据包)
while not stop_flag:
    if check_internet_connection():
        print("\r已连接到Internet", end = ' ')
        #pass
    else:
        print("未连接到Internet, 正在尝试重新连接...")
        conn = post(url=url, data=data) #发送数据包
    sleep(1)  # 每隔1秒进行一次检测
import requests

import urllib.request

import time

import threading

url = "http://10.255.0.41/0.htm" #学校认证地址

print("----------------AUST-认证脚本------------------")

# user = input("学号:")   #你的学号

# password = input("密码:")    #你的密码

# server = input("\n电信:aust\n联通:unicom\n移动:cmcc\n运营商: ")  #电信aust 联通改为 unicom 移动改为 cmcc

#发送的数据包

data = {

    "DDDDD":"",

    "upass":"",

    "0MKKey":"%B5%C7%A1%A1%C2%BC",

    "v6ip":""

}

# 标志变量用于控制线程的执行

stop_flag = False

#检查是否连接到外部网络

def check_internet_connection():

    try:

        url = 'https://www.baidu.com'

        headers = {'User-Agent': 'Mozilla/5.0', 'Content-Length': '1'}  # Modify the Content-Length header value as needed

        req = urllib.request.Request(url, headers=headers)

        urllib.request.urlopen(req, timeout=1)

        return True

    except urllib.error.URLError:

        return False

#检查用户输入,并判断是否退出程序

def user_input_thread():

    while True:

        global stop_flag #引入全局变量

        user_input = input()  # 获取用户输入

        if (user_input.lower() == "q"):

            stop_flag = True #标志置是

            break #退出循环

# 创建一个线程来处理用户输入

input_thread = threading.Thread(target=user_input_thread)

input_thread.start()

#主函数(执行检测,并判断发送数据包)

while not stop_flag:

    if check_internet_connection():

        print("已连接到Internet")

        #pass

    else:

        print("未连接到Internet")

        print("正在尝试重新连接...")

        conn = requests.post(url=url, data=data) #发送数据包

    time.sleep(2)  # 每隔2秒进行一次检测
嗨!欢迎来到我的小世界。 我是来自安徽理工大学的一名计算机学生,一个在代码和咖啡之间穿梭的数字游民。我的技术旅程始于 Java 的严谨逻辑,在 Python 的优雅中找到了快速实现的乐趣,然后又被 React 和 Vue 的前端魅力深深吸引。我喜欢从零开始,用代码构建一个完整的应用,从后端的服务设计到前端的像素级实现,每一步都充满挑战与创造的快感。 我坚信生活不止眼前的 bug,还有诗和远方。我的镜头记录着校园四季的变幻,也捕捉着城市街头的光影故事。当你在这里看到一些关于摄影的分享,请不要惊讶,那是我在代码之外的另一种表达方式。此外,我还喜欢在周末骑着单车,穿梭于乡间小道,享受风带来的自由。这些爱好让我保持着对世界的好奇心和对生活的热情。 这个博客是我分享技术心得、记录成长轨迹、展示个人爱好的地方。在这里,你可能会看到: Java、Python、React、Vue 等技术深度解析 项目开发中的踩坑记录与解决方案 摄影作品与拍摄技巧分享 户外骑行或徒步的游记随笔
最后更新于 2024-07-09