我正在使用python 3进行后门购买。我面临错误
错误
TypeError:只能将str(而不是“字节”)连接到str
json\u data=json\u data+self.connection.recv(1024)
一段代码导致错误
def reliable_receive(self):
json_data = ""
while True:
try:
json_data = json_data + self.connection.recv(1024)
return json.loads(json_data)
except ValueError:
continue
self.connection.recv(1024)返回字节,因此必须首先将其解码为字符串,如下所示:
(utf8是编码,您可能必须将其更改为ascii(或其他内容),具体取决于发送数据的编码)
根据
json.loads
的文档,它将接受str
或bytes
作为其参数,但您需要选择其中一个;不能同时添加str
和bytes
,因为它们代表不同类型的数据因为您正在从
recv
接收一个bytes
对象,所以您可能希望您的json_data
也是一个bytes
。只要事先声明:或者,您可以对
recv
返回值进行解码,以便将其转换为str
;在这种情况下,您需要知道编码,否则某些字节序列可能会引发错误相关问题 更多 >
编程相关推荐