requests发送请求报错UnicodeEncodeError: 'latin-1' codec can't encode characters in position 113-115

错误信息:UnicodeEncodeError: ‘latin-1’ codec can’t encode characters in position 113-115

解决方法

1、首先使用正则匹配出参数中的汉字,固定格式:
hanzi = re.search(r’[\u4E00-\u9FA5]*’, v).group()
2
、然后将汉字进行转码,并替换原来的参数
hanzi.encode('utf-8).decode(latin1)

    def _handle_data(self, data):
        # 将请求携带参数里面的中文进行处理,data为字典格式
        for k, v in data.items():
            try:
            	# 匹配出带有汉字的value
                hanzi = re.search(r'[\u4E00-\u9FA5]*', v).group()
                #  匹配到,则替换;未匹配到,不做任何处理
                if hanzi:
                    data[k] = hanzi.encode('utf-8').decode('latin1')
            except Exception as f:
                pass
        return data
发布了5 篇原创文章 · 获赞 1 · 访问量 2684

猜你喜欢

转载自blog.csdn.net/weixin_44462377/article/details/88774679