python - 使用 Python 将我的 Windows 计算机关联到 wifi AP

标签 python windows networking pywin32 wifi

我正在尝试编写一个 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/

相关文章:

python - JSON 提取到 pandas 数据帧

python - celery 任务没有发送给经纪人

linux - 将接口(interface)上的流量重定向至特定目的地

windows - 各种 Windows 版本附带的 Kernel32.dll 版本列表?

ubuntu - 如何通过 jdbc 从容器连接到主机上的 Informix DB?

networking - 自定义 TCP 服务中缓冲区使用和调整的一些技巧是什么?

python - Python 中的列联表

python - 寻找大矩阵最小二乘解的更快方法

c# - 如果我使用 getFileAsync 而不是 Picker.pickSingleFileAsync,则无法从 FutureAccessList 检索文件

c++ boost asio 异步函数不能在 dll 中工作