解决: Unicode-objects must be encoded before hashing

今天登录wp的时候看到没有头像,就想点进去看一下,看到提示:您可以在Gravatar修改您的资料图片。就尝试了一下,发现他有api就直接复制代码尝试了一下。果然就报错了。。。。

# import code for encoding urls and generating md5 hashes
import urllib, hashlib
 
# Set your variables here
email = "someone@somewhere.com"
default = "https://www.example.com/default.jpg"
size = 40
 
# construct the url
gravatar_url = "https://www.gravatar.com/avatar/" + hashlib.md5(email.lower()).hexdigest() + "?"
gravatar_url += urllib.urlencode({'d':default, 's':str(size)})

根据提示我们应该能看出来他需要我们再hash加密前进行编码,只需要将 hashlib.md5(email.lower()).hexdigest() 修改为 hashlib.md5(email.lower().encode(‘utf8’)).hexdigest()即可解决此报错!

解决了报错也没有获取到自己的头像。。。惨兮兮!

喜欢技术的朋友欢迎关注小站,一起学习进步!