公平的警告,我不是一个程序员,做这件事更多的是作为一种爱好。感谢您花时间审阅这篇文章并提供建议。
我有一个python的列表: 60.0,0.0,0.0,0.0,347.0,30.0,29.0,1.0,我想发布到带有加密的pubnub上。我已经设法在没有加密的情况下发布了。
作品:
msg = {"freq" : modbusRead[0],
"voltage" : modbusRead[1],
"rpm" : modbusRead[2]
}
readSecret = pubnub.publish().channel(CHANNEL).message(msg).pn_async(publish_callback)不起作用:
msg = {"freq" : modbusRead[0],
"voltage" : modbusRead[1],
"rpm" : modbusRead[2]
}
secretMsg = pubnub.encrypt("RandomCipherKey", msg)
readSecret = pubnub.publish().channel(CHANNEL).message(secretMsg).pn_async(publish_callback)我得到以下错误:
TypeError:+:'dict‘和'bytes’不支持的操作数类型
发布于 2021-11-15 12:13:37
看起来您试图将dict传递给方法,而该方法本应为bytes。方法签名解释here和使用示例如下所示:
payload_to_encrypt = b'knights_who_say_ni'
encrypted_payload = pubnub.encrypt("test_cipher_key", payload_to_encrypt)此外,如果没有计划从Python客户端发送推送通知,则可以配置所有发送/接收的数据都将使用相同的令牌进行加密/解密(在这种情况下,您不必处理encrypt方法的数据序列化)。
检查PNConfiguration对象中的cipher_key。
https://stackoverflow.com/questions/69967913
复制相似问题