python3.x上post发送json数据


Posted in Python onMarch 04, 2018

一.摘要

做接口自动化测试时,常常需要使用python发送一些json内容的接口报文,如果使用urlencode对内容进行编码解析并发送请求,会发现服务器返回了200,OK的状态,但响应内容不可读(像是一堆加密报文)。定位问题时发现抓包发现发送报文的内容与我们发送的json内容不符(会去掉”{“与”}“等内容),所以重新采用了json封装后,问题解决。

二.解决方法

1.先导入json模块,采用json.dumps将json内容进行封装

eg:
import json
str = json.dumps({'userid':'381fccbd776c4deb'})

2.调用这个内容并发送http请求

eg:

import http.client,urllib.parse
import json

str = json.dumps({'userid':'381fccbd776c4deb'})
print(str)

#下面注释部分这样做是不行的
#pararms = urllib.parse.urlencode({'userid':'381fccbd776c4deb'}).encode(encoding='UTF8')
headers = {"Content-type": "application/x-www-form-urlencoded","Accept": "text/plain"}
conn = http.client.HTTPConnection("10.3.93.216",8080)
conn.request('POST', '/ippinte/api/scene/getall', str, headers)
response = conn.getresponse()
print(response.status, response.reason)
data = response.read().decode('utf-8')
print(data)
conn.close()

附未作json封装时的结果图片与封装成功后的结果图片:

未作json封装时的结果图片

python3.x上post发送json数据

封装成功后的结果图片

python3.x上post发送json数据

Python 相关文章推荐
讲解Python中的标识运算符
May 14 Python
python数组复制拷贝的实现方法
Jun 09 Python
python中input()与raw_input()的区别分析
Feb 27 Python
使用Python的Tornado框架实现一个Web端图书展示页面
Jul 11 Python
python图像常规操作
Nov 11 Python
Python基于机器学习方法实现的电影推荐系统实例详解
Jun 25 Python
简单了解python高阶函数map/reduce
Jun 28 Python
python将三维数组展开成二维数组的实现
Nov 30 Python
Python3监控疫情的完整代码
Feb 20 Python
keras自动编码器实现系列之卷积自动编码器操作
Jul 03 Python
Python图像识别+KNN求解数独的实现
Nov 13 Python
详解Python 中的 defaultdict 数据类型
Feb 22 Python
python数据封装json格式数据
Mar 04 #Python
Python爬虫实例扒取2345天气预报
Mar 04 #Python
Python爬虫设置代理IP的方法(爬虫技巧)
Mar 04 #Python
浅析python实现scrapy定时执行爬虫
Mar 04 #Python
Python使用Scrapy爬虫框架全站爬取图片并保存本地的实现代码
Mar 04 #Python
Python爬虫框架Scrapy实例代码
Mar 04 #Python
详解python中asyncio模块
Mar 03 #Python
You might like
解析PHP无限级分类方法及代码
2013/06/21 PHP
WordPress主题中添加文章列表页页码导航的PHP代码实例
2015/12/22 PHP
php生成验证码,缩略图及水印图的类分享
2016/04/07 PHP
PHP实现防盗链的方法分析
2017/07/25 PHP
在页面上点击任一链接时触发一个事件的代码
2007/04/07 Javascript
为Extjs加加速(javascript加速)
2010/08/19 Javascript
jQuery .tmpl(), .template()学习资料小结
2011/07/18 Javascript
20个非常棒的 jQuery 幻灯片插件和教程分享
2011/08/23 Javascript
JavaScript内核之基本概念
2011/10/21 Javascript
JavaScript动态修改网页元素内容的方法
2015/03/21 Javascript
原创jQuery弹出层插件分享
2015/04/02 Javascript
JS时间特效最常用的三款
2015/08/19 Javascript
Bootstrap实现默认导航栏效果
2020/09/21 Javascript
js获取当前时间(昨天、今天、明天)
2016/11/23 Javascript
node.js到底要不要加分号浅析
2018/07/11 Javascript
如何使用CSS3+JQuery实现悬浮墙式菜单
2019/06/18 jQuery
ionic2.0双击返回键退出应用
2019/09/17 Javascript
javascript canvas检测小球碰撞
2020/04/17 Javascript
python中aioysql(异步操作MySQL)的方法
2019/04/11 Python
python定间隔取点(np.linspace)的实现
2019/11/27 Python
Python递归调用实现数字累加的代码
2020/02/25 Python
英国最大的邮寄种子和植物公司:Thompson & Morgan
2017/09/21 全球购物
6号汽车旅馆预订:Motel 6
2018/02/11 全球购物
预备党员思想汇报范文
2013/12/29 职场文书
教学实习自我评价
2014/01/28 职场文书
企业授权委托书范本
2014/04/02 职场文书
马云北大演讲完整版:真心话,什么才是阿里的核心竞争力?
2014/04/04 职场文书
机关会计岗位职责
2014/04/08 职场文书
实习生评语
2014/04/26 职场文书
考试保密承诺书
2014/08/30 职场文书
群众路线个人自我剖析材料
2014/10/07 职场文书
2014年环保工作总结
2014/11/26 职场文书
在校学生证明格式
2015/06/24 职场文书
电工生产实习心得体会
2016/01/22 职场文书
浅谈python数据类型及其操作
2021/05/25 Python
python 字典和列表嵌套用法详解
2021/06/29 Python