我正在尝试编写一个 python 脚本,它可以让我的计算机关联到无线接入点,给定名称作为字符串。例如,我可能指定我想连接到 linksys
,我的脚本会导致计算机这样做。
我看了this问题,但无法通过查看提供的链接了解该怎么做。
有人能指出我正确的方向吗?
最佳答案
我决定采纳 Paulo 的建议并尝试使用 Powershell/命令行。我找到了一个 article关于通过命令行连接到网络。
在命令行中,您可以:
netsh wlan connect <profile-name> [name=<ssid-name>]
...name=<ssid-name>
在哪里部分是可选的,仅当配置文件包含多个 ssid 时才有必要。
但是,看起来配置文件必须已经存在于机器上才能使命令行工作。我确实找到了 forum post关于以编程方式创建个人资料,但我不想仔细研究它。
如果配置文件名称已经存在,那么您可以从 Python 执行类似于以下的操作:
import subprocess
def connect_to_network(name):
process = subprocess.Popen(
'netsh wlan connect {0}'.format(name),
shell=True,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
stdout, stderr = process.communicate()
# Return `True` if we were able to successfully connect
return 'Connection request was completed successfully' in stdout
这是一个不完美的解决方案,我不完全确定它是否适用于所有情况,但它确实适用于我的特定情况。我想我会发布我的想法,以防其他人想要尝试修改它以使其变得更好。
关于python - 使用 Python 将我的 Windows 计算机关联到 wifi AP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14077835/