河南农业大学 校园网开机自动登录

河南农业大学登录校园网程序太麻烦,无法无网自动静默登录,该代码可完美解决此问题。

题主电脑版本:

设备名称    111
处理器    12th Gen Intel(R) Core(TM) i5-12400F   2.50 GHz
机带 RAM    32.0 GB (31.8 GB 可用)
设备 ID    497E9170-80AB-4B29-86E6-8F2977B461AF
产品 ID    00331-10000-00001-AA583
系统类型    64 位操作系统, 基于 x64 的处理器
笔和触控    单一触控支持
版本    Windows 11 专业版
版本号    24H2
安装日期    ‎2024/‎11/‎25
操作系统版本    26120.2705
体验    Windows 功能体验包 1000.26100.42.0

代码实例:

# 校园网自动登录脚本(Windows 任务计划版)
# ============================================
# 适用于 Python 3.x 及相应依赖库
# By 河南农业大学 周平西  zpx131568@gmail.com
# 本脚本用于校园网自动登录,建议在实验室或固定工位的电脑后台运行,仅需更改#校园网登录信息。
#
# 🚀 Windows 任务计划自动启动(静默执行,无黑框)
# ----------------------------------------
# 1. 打开任务计划程序(Win + R → taskschd.msc)
# 2. 创建基本任务 → 触发器选择 “计算机启动时”
# 3. 操作 → 选择 “启动程序”
#    - 程序/脚本(换自己的pythonw.exe位置): "C:\\Users\\你的用户名\\AppData\\Local\\Programs\\Python\\Python313\\pythonw.exe"
#    - 添加参数(换自己的程序位置): "C:\\Data\\Python\\Daily_Program\\校园网自动登录.py"
# 4. 常规设置:
#    - ✔ 勾选 "使用最高权限运行"
# 5. 条件设置(确保开机必运行):
#    - 取消勾选 "只有在计算机使用交流电源时才启动"
#    - 取消勾选 "只有在网络可用时才启动"
# 6. 高级设置:
#    - 启动时延迟 30 秒(防止系统未加载完毕)
#    - 失败后 1 分钟重试(最多 3 次)
#
# 📌 确保 Python 及依赖库已安装
# 💡 日志存储位置:C:\\Users\\你的用户名\\campus_login_log.txt
# 🚀 Windows 通知提醒:脚本运行状态可通过通知栏查看
#
# ============================================


import requests
import time
import subprocess
import os
from plyer import notification

# 校园网登录信息
LOGIN_URL = "http://10.0.108.3/a70.htm"
USERNAME = "000000"  # 你的账号
PASSWORD = "000000"  # 你的密码

# 记录日志的目标
LOG_FILE = os.path.expanduser("~") + "\\campus_login_log.txt"
PING_HOST = "www.baidu.com"


def log_message(message):
    """记录日志并打印"""
    timestamp = time.strftime("[%Y-%m-%d %H:%M:%S] ", time.localtime())
    log_entry = timestamp + message
    with open(LOG_FILE, "a", encoding="utf-8") as f:
        f.write(log_entry + "\n")
        f.flush()  # 立即写入磁盘,防止日志丢失
    print(log_entry, flush=True)  # 立即打印,防止缓存影响


def show_notification(title, message):
    """使用 plyer 发送 Windows 通知"""
    notification.notify(title=title, message=message, app_name="校园网自动登录", timeout=5)


def check_internet():
    """通过 ping 检测网络连通性"""
    try:
        return "TTL=" in subprocess.run(["ping", "-n", "1", PING_HOST], capture_output=True, text=True).stdout
    except Exception as e:
        log_message(f"❌ 网络检测失败: {e}")
        return False


def login_campus_network():
    """尝试登录校园网"""
    try:
        response = requests.post(
            LOGIN_URL,
            data={"DDDDD": USERNAME, "upass": PASSWORD, "0MKKey": "123456"},
            headers={
                "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36",
                "Referer": LOGIN_URL,
                "Origin": "http://10.0.108.3",
                "Content-Type": "application/x-www-form-urlencoded",
            },
            timeout=5,
        )
        status_msg = "✅ 登录成功!" if response.status_code == 200 else f"⚠️ 登录失败,状态码:{response.status_code}"
    except requests.RequestException as e:
        status_msg = f"❌ 登录请求失败: {e}"
    log_message(status_msg)
    show_notification("校园网自动登录", status_msg)


if __name__ == "__main__":
    log_message("📢 启动校园网自动登录")
    show_notification("校园网自动登录", "📢 任务已启动,正在检测网络...")

    while True:
        try:
            if check_internet():
                log_message("[+] 网络正常,无需登录。")
            else:
                log_message("🚨 无网络,尝试登录...")
                show_notification("校园网自动登录", "🚨 无网络,尝试自动登录...")
                login_campus_network()
        except Exception as e:
            log_message(f"❌ 运行时错误: {e}")

        time.sleep(30)  # 每 30 秒检测一次

登录效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值