环境:ubuntu14.04 python
描述:
测试微信开放平台中公众号第三方平台的自动回复,在对xml加密时报错。加密用的是微信给的WXBizMsgCrypt,加密类型,为aes。
1,之前xml中text信息为英文时,没有报错,改成中文时报错。
我将xml的具体内容截取出来,直接调用WXBizMsgCrypt加密,报出新错误:
UnicodeDecodeError: 'utf8' codec can't decode byte 0xf8 in position 19: invalid start byte
2,上一步中的xml的类型为unicode,我将之改成str类型,结果不报错
3,于是不管错误了,针对需要加密的xml对象,我这里是以response为例,将之转化为str类型:
response = response.encode("utf-8")
之后再加密,就不会报错了。
很明显,我这是有针对对象的,其他报错的我不知道是不是同样的方法也能解决,查了一会儿还是不了解加密的问题。
不过百度时资料很少,所以将我的经历写出来,给碰到同样问题的人提供个思路吧。
Linux命令之strings-打印文件中的可打印字符串:http://www.linuxdiyf.com/linux/7542.html
Linux的strings命令:http://www.linuxdiyf.com/linux/3290.html