我目前在从服务器获取哈希时遇到问题。
TypeError: Unicode-objects must be encoded before hashing
这是错误:
data = urllib2.urlopen(url) #request
hash = hashlib.md5(data.read().decode('utf-8')).hexdigest() #
实际上我试图用encode()替换decode(),但是它给出了另一个错误:
AttributeError: 'bytes' object has no attribute 'encode'
有什么想法吗?
答案 0 :(得分:1)
只需删除.decode('utf-8')
。
为了理解:read()
的{{1}}返回字节。 urlopen()
会将字节转换为unicode字符串。并且decode()
需要字节作为输入。