python wifi 切换网络

本文介绍了一个使用Python编写的脚本,该脚本能够根据当前连接的IP网段判断并自动切换到预设的Wi-Fi网络。通过检查网络状态,如果当前网络不在预期的网段内,脚本将扫描可用的Wi-Fi网络,并连接到预先设定的网络之一,实现网络环境的快速切换。
部署运行你感兴趣的模型镜像

场景:公司好多网络,我的jenkins 是在本地跑的,有的网络连接不了内网,导致一些任务失败等等,反正我要切换网络

pywifi

因为上面这个库 没法看当前连接的wifi 的 名字,所以根据ip 网段判断 是否在我中意的网段。

def switch_wifi():
    """切换wifi"""
    assert_ip_net = '1'
    now_ip = get_host_ip()
    print(now_ip)
    ip_network = now_ip.split('.')[2]
    support_wifi_names = ['zld-h3c-pc', 'zld-td-5G']
    if ip_network == assert_ip_net:
        wifi = pywifi.PyWiFi()  
        net_card = wifi.interfaces()[0]  
        net_card.scan()
        sleep(5)
        wifi_info_list = net_card.scan_results()  
        all_wifi_name = []
        for wifi_data in wifi_info_list:
            if wifi_data.ssid in support_wifi_names:
                all_wifi_name.append(wifi_data.ssid)

        wifi_name = random.choice(all_wifi_name)

        profile_info = pywifi.Profile()
        profile_info.ssid = wifi_name
        if 'pc' in wifi_name:
            profile_info.key = 'one wifi password'
        else:
            profile_info.key = 'two wifi password'
        profile_info.auth = pywifi.const.AUTH_ALG_OPEN
        profile_info.akm.append(pywifi.const.AKM_TYPE_WPA2PSK)
        profile_info.cipher = pywifi.const.CIPHER_TYPE_CCMP
        net_card.remove_all_network_profiles()
        tem_profile = net_card.add_network_profile(profile_info)
        net_card.connect(tem_profile)
        sleep(5)
        if net_card.status() == pywifi.const.IFACE_CONNECTED:
            print(f"连接成功{wifi_name}")
        else:
            print(f"连接失败{wifi_name}")
        now_ip = get_host_ip()
        print(now_ip)
    else:
        print(f'当前网络正常,无需切换')

 

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值