用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()
网的名字和网的密码根据实际情况更改。今天先就介绍到这里,再见!