python3编写脚本时遇到的坑......

Posted caoyinshan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3编写脚本时遇到的坑......相关的知识,希望对你有一定的参考价值。

一: 在python中使用request请求post时因为json解析错误导致请求失败

1、在python中使用request请求post时报错

具体代码如下

技术图片

 

日志报错:

技术图片

技术图片
org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: syntax error, expect , actual ident, pos 0, fastjson-version 1.2.36; nested exception is com.alibaba.fastjson.JSONException: syntax error, expect , actual ident, pos 0, fastjson-version 1.2.36
报错内容

 

2、用postman请求这个接口,传同样的请求头和参数是可以调通的

技术图片

 

技术图片

 

3、来思考一下原因

  首先,在其他位置这么传参数是可以调通的,那么参数设置是没问题的,

  其次,代码肯定是没问题的,因为可以执行,代码的控制台也没报错

  最后,反思一下,查看日志中的报错内容,翻译之后貌似是json语法的错误, 难道是Python对json的转换有问题?导致参数以json传入的时候没传进去?

  去百度:

  python3     文件默认编码是utf-8 , 字符串编码是 unicode      

        以utf-8 或者 gbk等编码的代码,加载到内存,会自动转为unicode正常显示。


隐隐约约知道病症在哪了,下边这个字典是传的参数

技术图片

这个字典的参数应该是unicode格式的,没有转换成json格式就传过去了,所以报错

继续百度,怎么将字典转换成json格式

先导入json包,再用json.dumps讲这个字典转换成json格式

代码如下:

技术图片

 

执行一下:

技术图片

OK!!没有报错

 

以上是关于python3编写脚本时遇到的坑......的主要内容,如果未能解决你的问题,请参考以下文章

python3安装遇到的坑

Mac下搭建Python3+PyCharm++PyQt5遇到的坑

学习celery时遇到的坑

编写Python用例脚本遇到的问题

python3 requests爬取gbk时候遇到编码的坑

在Linux部署进程守护脚本遇到的坑