如何使用Python连接WiFi

如何使用 Python 连接 WiFi

如何使用 Python 连接 WiFi

  互联网在 21 世纪发挥了至关重要的作用,有多种方法可以将他们的机器连接到 Internet。第一个是传统电缆,即以太网,另一个是我们都知道的现代无线保真系统或 Wi-Fi。Wi-Fi 让我们所有人的生活变得更轻松、更快捷。只需轻触拇指或点击鼠标,我们可以瞬间连接到无限的信息和资源海洋。在本文中,我们将介绍如何使用 Python 连接 WiFi。

如何使用 Python 连接 WiFi

  推荐:如何使用Python程序Pytube库下载YouTube视频

连接到已知的 WiFi 网络

  在这里,我们将连接到之前连接的 WiFi 网络,该计划的方法很简单:

  • 导入必要的
  • 借助cmd 命令和名为os的 python 库显示所有可用的 SSID 。
  • 选择您要连接的已知 Wi-Fi。
  • 等待连接成功

  我们将使用几个Windows 命令提示符命令来访问可用的 Wi-Fi 网络列表并连接到以前连接的网络。但是,我们如何在 Python 脚本中编写和执行 Window Command Prompt 命令呢?

# import module
import os

# scan available Wifi networks
os.system('cmd /c "netsh wlan show networks"')

# input Wifi name
name_of_router = input('Enter Name/SSID of the Wifi Network you wish to connect to: ')

# connect to the given wifi network
os.system(f'''cmd /c "netsh wlan connect name={name_of_router}"''')

print("If you're not yet connected, try connecting to a previously connected SSID again!")

输出:

连接到已知的 WiFi 网络

  首先我们使用import关键字获取 os 库。然后,我们使用os库中的 system() 方法帮助我们运行 cmd 命令

'cmd /c "netsh wlan show networks"' 

  上述命令扫描所有可用的 SSID并将它们显示为输出以及它们的基础结构、身份验证和加密类型。我们通过 SSID 的字符串输入继续进行,用户希望连接到并将它们保存在名为name_of_router的变量中。

  然后这个字符串变量被替换为另一个 cmd 命令,我们应该在其中输入 SSID 的名称。

f'''cmd /c "netsh wlan connect name={name_of_router}"''' 

  我们现在将成功连接到特定的 SSID。 

  推荐:Python中==和is运算符的区别

连接到新的 Wi-Fi 网络

  现在连接到新的 Wi-Fi 涉及更多步骤。要连接到新网络,必须使用 .XML 文件将此新的 Wi-Fi 网络配置文件添加到我们的系统中。这使得 Wi-Fi 网络成为一个已知的 SSID,现在可以使用上述步骤成功连接到它。

  • 第一步:导入os
  • 步骤 2:设置新 Wi-Fi 网络的XML 配置
  • 步骤 3:选择Wi-Fi 网络
  • 第 4 步:将此配置文件添加到您的系统
  • 步骤 5:连接到 Wi-Fi 网络
import os

def createNewConnection(name, SSID, password):
	config = """<?xml version=\"1.0\"?>
<WLANProfile xmlns="http://www.microsoft.com/networking/WLAN/profile/v1">
	<name>"""+name+"""</name>
	<SSIDConfig>
		<SSID>
			<name>"""+SSID+"""</name>
		</SSID>
	</SSIDConfig>
	<connectionType>ESS</connectionType>
	<connectionMode>auto</connectionMode>
	<MSM>
		<security>
			<authEncryption>
				<authentication>WPA2PSK</authentication>
				<encryption>AES</encryption>
				<useOneX>false</useOneX>
			</authEncryption>
			<sharedKey>
				<keyType>passPhrase</keyType>
				<protected>false</protected>
				<keyMaterial>"""+password+"""</keyMaterial>
			</sharedKey>
		</security>
	</MSM>
</WLANProfile>"""
	command = "netsh wlan add profile filename=\""+name+".xml\""+" interface=Wi-Fi"
	with open(name+".xml", 'w') as file:
		file.write(config)
	os.system(command)

def connect(name, SSID):
	command = "netsh wlan connect name=\""+name+"\" ssid=\""+SSID+"\" interface=Wi-Fi"
	os.system(command)

def displayAvailableNetworks():
	command = "netsh wlan show networks interface=Wi-Fi"
	os.system(command)


displayAvailableNetworks()
name = input("Name of Wi-Fi: ")
password = input("Password: ")
createNewConnection(name, name, password)

connect(name, name)
print("If you aren't connected to this network, try connecting with the correct password!")

输出:

连接到新的 Wi-Fi 网络

  首先,我们定义了createNewConnection函数,它接受参数 name、SSID 和密码,这些都是我们用来完成配置变量的字符串。config 变量是一个字符串,可帮助我们为新的 Wi-Fi 网络定义XML配置。

  然后,我们从用户那里获取SSID 名称和密码的输入。然后将它们输入到 XML 代码中,然后使用以下代码行将其添加为配置文件:

command = "netsh wlan add profile filename=\""+name+".xml\""+" interface=Wi-Fi"
    with open(name+".xml", 'w') as file:
        file.write(config)
    os.system(command)

  现在可以使用本文前面使用的相同命令连接到 Wi-Fi,并像连接到已知网络一样连接到网络。 

  推荐:零基础如何开始学习Python


晓得博客,版权所有丨如未注明,均为原创
晓得博客 » 如何使用 Python 连接 WiFi

转载请保留链接:https://www.pythonthree.com/how-to-connect-wifi-using-python/

滚动至顶部