Mic*_*x2a 7 python windows networking pywin32 802.11
我正在尝试编写一个python脚本,可以使我的计算机与无线访问点关联,并将名称作为字符串.例如,我可能会指定我要连接到linksys
,我的脚本将导致计算机执行此操作.
我看了这个问题,但是从查看提供的链接无法理解该怎么做.
有人能指出我正确的方向吗?
我决定采用Paulo的建议并尝试使用Powershell /命令行.我找到了一篇关于通过命令行连接到网络的文章.
从命令行,您可以执行以下操作:
netsh wlan connect <profile-name> [name=<ssid-name>]
Run Code Online (Sandbox Code Playgroud)
... name=<ssid-name>
部分是可选的,并且只有在配置文件包含多个ssids时才是必需的.
但是,看起来配置文件必须已存在于计算机上才能使命令行工作正常.我确实找到了一个以编程方式创建个人资料的论坛帖子,但我不想通过它进行拉票.
如果配置文件名称已存在,则可以从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
Run Code Online (Sandbox Code Playgroud)
这是一个不完美的解决方案,我不完全确定它是否适用于所有情况,但它确实适用于我的特定情况.我想我会发布我提出的内容,以防其他人想要尝试修改它以使其更好.