使用Python将我的Windows计算机与wifi AP关联

Mic*_*x2a 7 python windows networking pywin32 802.11

我正在尝试编写一个python脚本,可以使我的计算机与无线访问点关联,并将名称作为字符串.例如,我可能会指定我要连接到linksys,我的脚本将导致计算机执行此操作.

我看了这个问题,但是从查看提供的链接无法理解该怎么做.

有人能指出我正确的方向吗?

Mic*_*x2a 5

我决定采用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)

这是一个不完美的解决方案,我不完全确定它是否适用于所有情况,但它确实适用于我的特定情况.我想我会发布我提出的内容,以防其他人想要尝试修改它以使其更好.