我尝试使用 python dbus 模块连接到 WEP 安全 WiFi
我填写网络配置字典如下:
nw_config['wep_key0'] = binascii.unhexlify(mypassword)
mypassword 是十六进制字符串
当 mypassword 设置为 '12345678' 时不会出错,但是当它输入英文字母时,如 a、b、c、d、e、f。
例如:
nw_config['wep_key0'] = binascii.unhexlify('abcdef')
它将显示以下错误
UnicodeError:要通过 D-Bus 发送的字符串参数必须是有效的 UTF-8,没有非字符代码点
只是不明白这两种情况之间有什么区别,因为它们都应该是有效的十六进制字符串?
更新:dbus相关的代码
args = dbus.Dictionary(nw_config)
bus = dbus.SystemBus()
wpas_obj = bus.get_object(WPAS_DBUS_SERVICE, WPAS_DBUS_PATH)
wpas = dbus.Interface(wpas_obj, WPAS_DBUS_SERVICE)
if_obj = bus.get_object(WPAS_DBUS_SERVICE, path)
path = wpas.GetInterface(if_obj, WPAS_DBUS_IFACE)
network = iface.AddNetwork(args) # this line has problem