chd一键登录校园网

该脚本主要用于草滩男子职业技术学院北校区校园网登录(懒人专用)

由于最近一直在使用校园网,感觉联网比较麻烦,连接网络还需要链接wifi然后再登录网页确认登陆信息,烦死了。。。。

# -*-coding:utf-8-*-

import pywifi, time
from pywifi import const
import requests,os

def wifi_connect_status():
    wifi = pywifi.PyWiFi()
    iface = wifi.interfaces()[0]  # acquire the first Wlan card,maybe not

    if iface.status() in [const.IFACE_CONNECTED, const.IFACE_INACTIVE]:
        print("wifi已连接链接!")
        return 1
    else:
        print("wifi未链接!")
    return 0


# 3、扫描wifi:
def scan_wifi(wifiName):
    wifi = pywifi.PyWiFi()
    iface = wifi.interfaces()[0]

    iface.scan()
    time.sleep(1)
    basewifi = iface.scan_results()
    wifiNameArray=[]
    for i in basewifi:
        wifiNameArray.append(i.ssid)
    # print("wifi scan name:{}".format(i.ssid))
    # print("wifi device MAC address:{}".format(i.bssid))

    if wifiName in wifiNameArray:
        print("已找到目标wifi:"+wifiName+"正在连接.")
    else:
        print("未找到目标wifi:"+wifiName)

    return basewifi

# 4、连接指定的wifi:
def connect_wifi(wifiName):
    wifi = pywifi.PyWiFi()
    ifaces = wifi.interfaces()[0]
    # print("local wifi name:"+ifaces.name())  # 输出无线网卡名称
    ifaces.disconnect()
    time.sleep(3)

    profile = pywifi.Profile()  # 配置文件
    profile.ssid = wifiName  # wifi名称
    profile.auth = const.AUTH_ALG_OPEN  # 不需要密码
    #profile.bssid="06:14:4b:72:42:1b" #mac地址
    # profile.akm.append(const.AKM_TYPE_WPA2PSK)  # 加密类型
    # profile.cipher = const.CIPHER_TYPE_CCMP  # 加密单元
    # profile.key = "2151155511"  # wifi密码

    ifaces.remove_all_network_profiles()  # 删除其它配置文件
    tmp_profile = ifaces.add_network_profile(profile)  # 加载配置文件
    ifaces.connect(tmp_profile)
    time.sleep(2)
    isok = True

    if ifaces.status() == const.IFACE_CONNECTED:
        print("wifi 链接成功!")
    else:
        print("wifi 链接失败!")
    time.sleep(1)
    return isok

# 5 web登录
def webLogin(username,passwords):
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0",
        "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8",
        "Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2",
        "Accept-Encoding": "gzip, deflate",
        "Content-Type": "application/x-www-form-urlencoded",
        "Content-Length": "49",
        "Origin": "http://172.18.8.37",
        "Connection": "close",
        "Referer": "http://172.18.8.37/0.htm",
        "Upgrade-Insecure-Requests": "10"

    }

    data = {
        "DDDDD":username+"@xyw",
        "upass":passwords,
        "0MKKey":'',
        "v6ip":'',
    }
    url1 = "http://172.18.8.37/0.htm"
    try:
        result = requests.post(headers=headers,url=url1, data=data).text
    except Exception as  erro:
        print("链接异常。。。。")
        print(erro)
    time.sleep(1)
    if "您已经成功登录" in result:
        print("网页登录成功。")
    else:
        print("密码或账号错误,请检查账号与密码是否匹配!!!")

def main():
    contentArray=[]

    with open(r"login.txt") as file:
        for contents  in file.readlines():
            contentArray.append(contents.strip('\n'))

    wifiName = contentArray[0]
    username = contentArray[1]
    passwords = contentArray[2]
    print("链接wifi:"+wifiName)
    wifi_connect_status()
    scan_wifi(wifiName)
    connect_wifi(wifiName)
    webLogin(username=username,passwords=passwords)
    # time.sleep(5)
    os.system("pause")

if __name__ == "__main__":
    main()

上面为全部代码,懂编程的小伙伴应该看得到,在代码所在目录下创建一个login.txt文本文件即可
在这里插入图片描述
然后运行程序即可。
当然考虑到不懂代码的小伙伴呢,我也打包好了直接运行的程序,不过只做了windows下的可执行程序。

打包好的程序使用展示

在这里插入图片描述
创建一个文件夹,把程序放进去,然后按照上面一样,创建一个login.txt文本,把链接wifi名称填上,用户账号以及密码按顺序填上,保存后,直接运行程序就行了,以后连接网络直接运行程序就行了。在运行程序过程中,如果弹出了校园网登录的网页,直接关闭即可。(豪横)

资源下载地址: https://download.csdn.net/download/qq_40646572/86723917
资源不收费,直接下载就行。本人已经设置为免费的了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值