使用Python的 Wi-Fi 二维码生成器
先决条件:使用Python获取已保存的 Wifi 密码
我们知道无线网络是当今最常见的网络适配器,因为它支持便携性和用户友好性。在本文中,我们将看到如何获取当前保存的 Wi-Fi 名称和密码,并生成二维码以使用Python连接其他设备。
在开始之前,我们需要安装wifi-qrcode-generator模块,为您的 Wi-Fi 生成二维码,让其他人快速连接您的 Wi-Fi:
安装:
这个模块没有内置于Python中。要安装此类型,请在终端中输入以下命令。
pip install wifi-qrcode-generator
用法:
Python3
# Import module
import wifi_qrcode_generator as qr
# Use wifi_qrcode() to create a QR image
qr.wifi_qrcode('wifi name ', False, 'WPA', 'password')
Python3
# import modules
import subprocess
import wifi_qrcode_generator
# try catch block begins
# try block
try:
# traverse the profile
Id = subprocess.check_output(
['netsh', 'wlan', 'show', 'interfaces']).decode('utf-8').split('\n')
id_results = str([b.split(":")[1][1:-1]
for b in Id if "Profile" in b])[2:-3]
# traverse the password
password = subprocess.check_output(
['netsh', 'wlan', 'show', 'profiles',
id_results, 'key=clear']).decode('utf-8').split('\n')
pass_results = str([b.split(":")[1][1:-1]
for b in password if "Key Content" in b])[2:-2]
print("User name :", id_results)
print("Password :", pass_results)
except:
print("something wrong")
# generate Qr code
wifi_qrcode_generator.wifi_qrcode(id_results, False, 'WPA', pass_results)
输出:
现在让我们在 cmd 中获取当前的 Wi-Fi 名称和密码:
如果您将此netsh wlan show interface代码写入 cmd 终端,那么您将获得各种详细信息:
如果您将此netsh wlan show profile {Profile Name} key=clear code 写入终端,则您将获得网络密钥。
方法:
- 导入模块子进程和wifi-qrcode-generator模块。
- 使用subprocess.check_output()获取命令netsh wlan show interface的输出。
- 用utf-8解码输出,根据行拆分元数据。
- 现在获取拆分字符串以查找您当前的 Wi-Fi 名称( SSID 名称)。
- 现在对密码执行相同操作并找到 Wi-Fi 密码( Key Content )。
- 现在生成您的 Wi-Fi 二维码。
下面是实现。
蟒蛇3
# import modules
import subprocess
import wifi_qrcode_generator
# try catch block begins
# try block
try:
# traverse the profile
Id = subprocess.check_output(
['netsh', 'wlan', 'show', 'interfaces']).decode('utf-8').split('\n')
id_results = str([b.split(":")[1][1:-1]
for b in Id if "Profile" in b])[2:-3]
# traverse the password
password = subprocess.check_output(
['netsh', 'wlan', 'show', 'profiles',
id_results, 'key=clear']).decode('utf-8').split('\n')
pass_results = str([b.split(":")[1][1:-1]
for b in password if "Key Content" in b])[2:-2]
print("User name :", id_results)
print("Password :", pass_results)
except:
print("something wrong")
# generate Qr code
wifi_qrcode_generator.wifi_qrcode(id_results, False, 'WPA', pass_results)
输出: