Python自动连接WiFi

本文介绍了如何利用Python的pywifi库来检查WiFi连接状态、扫描可用网络并进行连接。代码示例中详细展示了如何设置WiFi配置文件,包括SSID、认证算法、加密类型和密码,以及断开、添加和连接网络的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用Python自动连接WiFi需要用到pywifi模块,今天我就给大家用一下这个技术,嘿嘿……

先二话不说,上代码!

import pywifi
import time
from pywifi import const

def wifi_connect_status():
    wifi = pywifi.PyWiFi()
    iface = wifi.interfaces()[0]

    if iface.status() in [const.IFACE_CONNECTED, const.IFACE_INACTIVE]:
        print("wifi connected!")
        return 1
    else:
        print("wifi not connected!")
    return 0

def scan_wifi():
    wifi = pywifi.PyWiFi()
    iface = wifi.interfaces()[0]

    iface.scan()
    time.sleep(1)
    basewifi = iface.scan_results()

    for i in basewifi:
        print("wifi scan result:{}".format(i.ssid))
        print("wifi device MAC address:{}".format(i.bssid))
    return basewifi

def connect_wifi():
    wifi = pywifi.PyWiFi()
    ifaces = wifi.interfaces()[0]
    print(ifaces.name())
    ifaces.disconnect()
    time.sleep(3)

    profile = pywifi.Profile()
    profile.ssid = "网的名字"
    profile.auth = const.AUTH_ALG_OPEN
    profile.akm.append(const.AKM_TYPE_WPA2PSK)
    profile.cipher = const.CIPHER_TYPE_CCMP
    profile.key = "网的密码"

    ifaces.remove_all_network_profiles()
    tmp_profile = ifaces.add_network_profile(profile)
    ifaces.connect(tmp_profile)
    time.sleep(5)
    isok = True

    if ifaces.status() == const.IFACE_CONNECTED:
        print("connect successfully!")
    else:
        print("connect failed!")
    time.sleep(1)
    return isok

def main():
    print("start")
    wifi_connect_status()
    scan_wifi()
    connect_wifi()
    print("finish!")

if __name__ == "__main__":
    main()

网的名字和网的密码根据实际情况更改。今天先就介绍到这里,再见!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值