Python发起请求提示UnicodeEncodeError错误代码解决方法

具体错误:

UnicodeEncodeError: 'latin-1' codec can't encode characters in position 73-74: Body ('测试') is not valid Latin-1. Use body.encode('utf-8') if you want to send it encoded in UTF-8.

解决:

对请求参数进行编码处理:

示例代码:

import requests
import json
import re
import pymysql
from tool.Mysql_connect import Mysql_operation
from tool.get_token import Crm_token

class test_demo(object):
  def __init__(self):
    self.op_mysql=Mysql_operation()
    self.token=Crm_token()
  def create_yixiang(self):
    url='http://xxx/customerAdjunctAdd'
    token=self.token.get_token()
    headers={"Content-Type":'application/x-www-form-urlencoded',
    "token":token}
    try:
      tel_num=self.op_mysql.sql_select('''select max(tel) from nc_customer_adjunct''')[0]['max(tel)'] #结果为str
    except Exception as error:
      print(error)
    a=1
    while a<3:
      tel_num=int(tel_num)+1
      a+=1
      data='customer_type=1&source=1&course_name_id=41&tel=%d&customer_name=测试3.1&sex=0&school=测试1&intro_id=0'%(tel_num)
      try:
        request1=requests.request("POST",url=url,headers=headers,data=data.encode()) #encode对请求编码处理:不处理接口会返回数据解析错误
        # print(data)
        response1=request1.json()
        print(headers)
        print(response1)
      except Exception as error:
        print(error)
if __name__=="__main__":
  Tm=test_demo()
  Tm.create_yixiang()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Python BeautifulSoup [解决方法] TypeError: list indices must be integers or slices, not str

    在python的Beautiful Soup 4 扩展库的使用过程中出现了 TypeError: list indices must be integers or slices, not str 这个错误,这里就分析一下为什么会报错以及如何解决. 这个错误的意思是'类型错误:list的索引必须是'integers'或者'slices'不能是'str' 我出现错误的代码: #引入库 from bs4 import BeautifulSoup #读取页面 soup = BeautifulSoup(o

  • Python中出现IndentationError:unindent does not match any outer indentation level错误的解决方法

    今天在网上copy的一段代码,代码很简单,每行看起来该缩进的都缩进了,运行的时候出现了如下错误: [解决过程]  1.对于此错误,最常见的原因是,的确没有缩进.根据错误提示的行数,去代码中看了下,看起来没有什么问题呀,都有缩进,而且语法也没有错误呀. 2.仔细研究了下代码,发现真的看不出什么问题,突然想到了,把当前python脚本的所有字符(包括空格和tab字符)都显示出来看看到底有没有缩进或者是其他特殊的字符. 当前用的文本编辑器Notepad++,有个设置,可以显示所有的字符的. 在: 视图

  • 解决python报错MemoryError的问题

    如下: python 32bit 最大只能使用 2G 内存,坑爹之处,超过 2G 报错MemoryError. 而 64bit python则无此限制,所以建议使用 64bit python. 可能存在的问题:以前 numpy.scipy 官方的库只支持 32bit python,现在应该发布了 64bit 对应版本. 以上这篇解决python报错MemoryError的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • Python UnicodeEncodeError: 'gbk' codec can't encode character 解决方法

    使用Python写文件的时候,或者将网络数据流写入到本地文件的时候,大部分情况下会遇到:UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position ... 这个问题. 网络上有很多类似的文件讲述如何解决这个问题,但是无非就是encode,decode相关的,这是导致该问题出现的真正原因吗?不是的. 很多时候,我们使用了decode和encode,试遍了各种编码,utf8,utf-8,gbk,gb2312等等,

  • python误差棒图errorbar()函数实例解析

    这篇文章主要介绍了python误差棒图errorbar()函数实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 函数功能:绘制y轴方向或是x轴方向的误差范围. 调用签名:plt.errorbar(x, y, yerr=a, xerr=b) x:数据点的水平位置 y:数据点的垂直位置 yerr:y轴方向的数据点的误差计算方法 xerr:x轴方向的数据点的误差计算方法 代码实现: import matplotlib.pyplot as plt

  • python使用pip安装模块出现ReadTimeoutError: HTTPSConnectionPool的解决方法

    今天使用pip安装第三库时,有时会报错: pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out. 使用镜像:pip install xxxx -i https://pypi.douban.com/simple 如下: pip install virtualenv -i https://pypi.dou

  • 解决python多线程报错:AttributeError: Can't pickle local object问题

    报错信息: Traceback (most recent call last): File "D:/flaskProject/test.py", line 35, in test pool.apply(self.out, args=(i,)) File "Python37-32\lib\multiprocessing\pool.py", line 261, in apply return self.apply_async(func, args, kwds).get(

  • python中报错"json.decoder.JSONDecodeError: Expecting value:"的解决

    在学习python语言中用json库解析网络数据时,我遇到了两个编译错误:json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes:和json.decoder.JSONDecodeError: Expecting value:.费了一些时间才找到原因,在此记录总结,希望能对学习python的同学有所帮助. 我运行的程序初始如下: import json data=''' { 'name' : '

  • Python发起请求提示UnicodeEncodeError错误代码解决方法

    具体错误: UnicodeEncodeError: 'latin-1' codec can't encode characters in position 73-74: Body ('测试') is not valid Latin-1. Use body.encode('utf-8') if you want to send it encoded in UTF-8. 解决: 对请求参数进行编码处理: 示例代码: import requests import json import re impo

  • AngularJS出现$http异步后台无法获取请求参数问题的解决方法

    本文实例讲述了AngularJS出现$http异步后台无法获取请求参数问题的解决方法.分享给大家供大家参考,具体如下: angular在通过异步提交数据时使用了与jQuery不一样的请求头部和数据序列化方式,导致部分后台程序无法正常解析数据. 原理分析(网上的分析): 对于AJAX应用(使用XMLHttpRequests)来说,向服务器发起请求的传统方式是:获取一个XMLHttpRequest对象的引用.发起请求.读取响应.检查状态码,最后处理服务端的响应.整个过程示例如下: var xmlht

  • Python 调用PIL库失败的解决方法

    今天学习Python的时候,需要安装一个第三方库,Python Imaging Library,是Python下面一个非常强大的处理图像的工具库,不过PIL目前只支持到Python2.7版本. Pillow是PIL的一个派生分之,目前的最新版本是3.0 安装Pillow的时候,打开Python的安装目录(例如我的是C:\Python27\Scripts),命令行启用easy_install.exe pip pip是Python包管理宫羽,主要用于安装PYPI(python package ind

  • Python编程源码报错解决方法总结经验分享

    目录 一.前言 二.解决过程 三.总结 一.前言 最近本都是开开心心的打开电脑写一些祖传BUG 但一个报错阻碍了我写BUG的进度! 这年代还有能阻碍我写BUG的报错??? 二.解决过程 一个新项目要做token认证,所以拷了原来的项目代码 没错,高级CV工程师就是我!!! 加入了一些token配置信息后,启动项目准备调试. 启动很成功没有任何报错. 然后启动前端项目开始一天的写BUG时间! 结果登录的时候就报错了!! 把之前项目的代码拷过来还会报错? 有点奇怪,但都是小场面! 开始调试 结果一看

  • Python pycharm提交代码遇到冲突解决方法

    目录 一.背景 二.冲突产生原因 三.解决方法 3.1 pycharm误删代码怎么处理 3.2 解决pull --rebase代码冲突 3.3 备份代码 四.重点注意事项 一.背景 我在pycharm提交代码的时候,因为对git和pycharm不是很熟悉,在提交代码到远程仓库遇到冲突后选择应用远端代码导致把本地代码全部删除.之后不知道代码恢复方法,又把代码重新写了一遍,非常浪费时间,导致开发效率低下. 这个问题的相关解决方法在网上比较零碎也不详细,下面我通过自己的实践一步步说明如何解决这个问题.

  • Express无法通过req.body获取请求传递的数据解决方法

    目录 前言 1.问题描述 2. 解决办法 2.1 解决JSON内容格式 2.2.解决x-www-form-urlencoded内容格式 3.附 3.1.获取get请求参数 3.2.封装XMLHttpRequest 4.总结 前言 最近尝试重新封装XMLHttpRequest,在发post请求的时候,发现express通过req.body获取不到数据,req.body打印出来是一个空对象. 网上也试了网上各种办法,还是不成功,最后发现需要在XMLHttpRequest请求时设置一个请求头,来标识发

  • python安装cx_Oracle模块常见问题与解决方法

    本文实例讲述了python安装cx_Oracle模块常见问题与解决方法.分享给大家供大家参考,具体如下: 安装或使用cx_Oracle时,需要用到Oracel的链接库,如libclntsh.so.10.1,否则会有各种各样的错误信息. 安装Oracle Instant Client就可得到这个链接库,避免安装几百兆之巨的Oracle Client. 软件下载地址: cx_Oracle的主页:http://cx-oracle.sourceforge.net/ 必需的Oracle链接库的下载地址:h

  • Python中MYSQLdb出现乱码的解决方法

    本文实例讲述了Python中MYSQLdb出现乱码的解决方法,分享给大家供大家参考.具体方法如下: 一般来说,在使用mysql最麻烦的问题在于乱码. 查看mysql的编码: 命令:  复制代码 代码如下: show variables like 'character_set_%'; 可以看到如下结果: character_set_client为客户端编码方式: character_set_connection为建立连接使用的编码: character_set_database数据库的编码: ch

  • js插件设置innerHTML时在IE8下提示“未知运行时错误”解决方法

    本文实例讲述了js插件设置innerHTML时在IE8下提示"未知运行时错误"解决方法.分享给大家供大家参考.具体分析如下: 问题描述: 网站中使用了一个js插件,设置innerHTML时,在IE8下报错"未知运行时错误": <div id="divContainer"> <a name="link"> -->报错处 第三方插件内容- </a> </div> 原因: 所设置

  • ajax的get请求时缓存处理解决方法

    本文实例讲述了ajax的get请求时缓存处理解决方法.分享给大家供大家参考.具体分析如下: 很多时候在Ajax的get方法调用的时候由于缓存的原因无法及时获取正确的数据,这里就来分析一下解决这一问题的方法: 1. 在url后面添加一个随机数,如: 复制代码 代码如下: http://www.test.com?a=a&b=b&r=Math.random(); 2. 在url后面添加时间戳: 复制代码 代码如下: var t = new Date().getTime(); http://www

随机推荐