在微信开发中我们会经常需要获取用户的信息。
地址为:
https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
将其中的access_token替换为我们的access_token, openid为关注用户的openid就可以获取到用户的信息了.
{
"openid": "?????alasd??????",
"nickname": u"xe5xaex87xe7xbfxbc",
"sex": 1,
"language": "zh_CN",
"city": "hebei",
"province": "Beijing",
"country": "CN",
"headimgurl": "http:\/\/wx.qlogo.cn\/mmopen\/PqN59rHCA5PMhL\/0",
"privilege": [],
"unionid": "???****???lsadf????"
}
但是当我们打印它时就会显示乱码
解决办法:
- 仔细分析unicode编码应该是u'u5b87u7ffc'
- utf8编码应该是"xe5xaex87xe7xbfxbc"
- 这个case是utf8被存到unicode对象里面, 解决方法如下:
name=userinfo['nickname'].encode('raw_unicode_escape')
参考:
https://docs.python.org/3/library/codecs.html#text-encodings