Python3用pywifi连接开放的WiFi

1. 需求

在Windows下,如果有线网卡和无线网卡同时使用的话,那么重启之后无线网卡将不会自动重新连接重启前的WiFi,每次重启之后需要手动连接,相当繁琐。
因此我需要编写一个连接一个开放(未设置密码)的WiFi程序,这样我打包后就能把它设为开机自启项,然后每次开机时就可以让它自动连接相应的WiFi了。
设为开机自启项可以参考:Windows怎么修改注册表设置开机启动程序
Python源码打包成exe可以参考:解决:如何将Python代码打包成exe可执行程序的问题

另外值得说明的是,pywifi一般用于破解WiFi密码,对于连接WiFi并非最好的选择,如果想要开机时自动连接某个WiFi,那不如写个脚本,参考:windows 通过cmd命令(netsh wlan命令)连接wifi

2. 配置

  1. 控制面板/网络和Internet/网络连接那里可以看到所有网卡,双击所需要使用的无线网卡
    在这里插入图片描述
  2. 得到SSID为PDSU-Student-Auto(无线网络的名字)
    在这里插入图片描述
  3. 点击属性,会看到网卡的名字
    在这里插入图片描述

3. 代码

pywifi官方主页

# 尝试并连接wifi
import pywifi
import time

def isConnected():
    if ifaces.status() == pywifi.const.IFACE_CONNECTED:
        print("成功连接")
        return True
    else:
        print("失败")
        return False

if __name__ == "__main__":
    wifi = pywifi.PyWiFi()  # 创建一个无线对象
    ifaces = wifi.interfaces()[0]  # 取一个无限网卡
    print(ifaces.name())  # 输出无线网卡名称
    ifaces.disconnect()  # 断开网卡连接
    time.sleep(0.5)  # 缓冲0.5秒

    profile = pywifi.Profile()  # 配置文件
    profile.ssid = "PDSU-Student-Auto"  # wifi名称
    ifaces.remove_all_network_profiles()  # 删除其他配置文件
    tmp_profile = ifaces.add_network_profile(profile)  # 加载配置文件
    ifaces.connect(tmp_profile)  # 连接
    time.sleep(0.5)  # 等待0.5秒后看下是否成功连接了
    if not isConnected():
        time.sleep(5)  # 若未成功,等待5秒后再看下是否成功连接了
        isConnected()

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 在Python中安装pywifi,可以使用命令行工具(如pip)来安装。具体步骤是: 1. 打开命令行工具(如Windows中的cmd或Linux中的终端); 2. 输入以下命令: - 对于Python3:`pip3 install pywifi` - 对于Python2:`pip install pywifi` 3. 执行命令后,等待安装完成即可。 ### 回答2: pywifi是一个Python库,可以用于在操作系统中进行无线网络连接和配置。pywifi底层使用了Wi-Fi工具,因此必须先安装Wi-Fi工具。 以下是在Python中安装pywifi的步骤: 1. 首先,需要在操作系统中安装Wi-Fi工具。对于Windows操作系统,可以从http://www.mediafire.com/file/6d4f1rzd3jvvx1d/WiFi.rar/file 下载工具,并将其中的文件拷贝到C:\Windows\System32目录中。对于Linux操作系统,可以通过命令行安装Wi-Fi工具(如apt-get)。 2. 安装pywifi库。可以使用pip或conda命令来安装pywifi,如下所示: pip install pywifi conda install -c kang_pywifi pywifi 3. 在Python中导入pywifi库。在Python中使用import命令导入pywifi库即可。 import pywifi 4. 连接无线网络。使用pywifi库中的Wifi类和Profile类可以连接无线网络。具体步骤如下所述: (1)创建Wifi对象。 wifi = pywifi.PyWiFi() (2)下一步是获取网卡列表。 iface = wifi.interfaces()[0] (3)获取上一个步骤中得到的网卡对象,创建Profile对象。 profile = pywifi.Profile() (4)在Profile对象中设置无线网络的名称和加密方式等参数。 profile.ssid = '名称' # 网络名称 profile.auth = pywifi.const.AUTH_ALG_OPEN # 开放认证 profile.akm.append(pywifi.const.AKM_TYPE_NONE) # 强制采用无密码方式连接 profile.cipher = pywifi.const.CIPHER_TYPE_NONE # 加密类型 (5)在iface对象中调用connect方法。 iface.remove_all_network_profiles() iface.connect(profile) time.sleep(5) if not IFace.status() == const.IFACE_CONNECTED: return False (6)最后,调用disconnect方法从网络中断开。 iface.disconnect() 以上就是在Python中安装pywifi的步骤。在使用pywifi前,需要了解无线网络的原理和相应的网络配置知识。同时,还需要在安装和使用Wireless Tool事驱动程序时,仔细阅读其文档和参考资料,避免出现不必要的错误。 ### 回答3: pywifi是一个用于Python的无线网络操作库。它提供了一种Python接口来操作无线网络,可以用来扫描可用的WIFI网络、连接WIFI网络、获取连接状态等操作。如下是在Python环境下安装pywifi的步骤。 1. 安装Python 安装Python是使用pywifi的前提。python官网https://www.python.org/downloads/上选择对应操作系统的安装包下载安装即可,选择安装时需注意勾选“Add Python to PATH”。 2. 安装pywifi依赖包 pywifi依赖于WirelessExtensions,所以我们需要安装WirelessExtensions。Windows用户可到以下网站下载:https://www.kernel.org/pub/linux/kernel/people/linville/wireless-tools/,选择相应版本的zip文件进行下载。注意文件名中的版本号应与当前操作系统版本相符,下载后解压到一个合适的位置,例如解压到C:\wireless\目录中。 打开命令行窗口(Windows用户按下Win+R,在运行框中输入cmd并按下回车键即可打开),输入以下命令: ```python cd C:\wireless (切换到C:\wireless目录) make (开始编译,需要等待约2分钟左右) make install (安装WirelessExtensions) ``` 对于Linux用户,可以直接使用命令包管理器进行安装: ```python sudo apt-get install wireless-tools ``` 3. 安装pywifi 打开命令行窗口,在命令行界面中输入以下命令: ```python pip install pywifi ``` 4. 验证安装结果 在Python命令行下输入以下命令: ```python Import pywifi ``` 如果没有报错,且可以成功导入pywifi模块,则说明安装已经成功。 以上就是在Python环境下安装pywifi的步骤,需要注意的是,不同的操作系统安装步骤略有不同,需要根据自己的实际情况进行安装。另外,在使用pywifi时,需要保证Wi-Fi适配器是正常工作的状态,并且已经连接到一个可用的网络中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

COCO56(徐可可)

建议微信红包:xucoco56

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值