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多重继承新算法C3介绍
Sep 28 Python
python通过floor函数舍弃小数位的方法
Mar 17 Python
Python实现返回数组中第i小元素的方法示例
Dec 04 Python
有趣的python小程序分享
Dec 05 Python
python实现生命游戏的示例代码(Game of Life)
Jan 24 Python
django框架之cookie/session的使用示例(小结)
Oct 15 Python
Python使用folium excel绘制point
Jan 03 Python
Python数据类型之String字符串实例详解
May 08 Python
在Python中使用filter去除列表中值为假及空字符串的例子
Nov 18 Python
python 上下文管理器及自定义原理解析
Nov 19 Python
pytorch中的numel函数用法说明
May 13 Python
python opencv旋转图片的使用方法
Jun 04 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
为什么那些咖啡爱好者大多看不上连锁咖啡店?
2021/03/06 咖啡文化
mongo Table类文件 获取MongoCursor(游标)的实现方法分析
2013/07/01 PHP
根据中文裁减字符串函数的php代码
2013/12/03 PHP
thinkphp在模型中自动完成session赋值示例代码
2014/09/09 PHP
Symfony数据校验方法实例分析
2015/01/26 PHP
PHP实现过滤掉非汉字字符只保留中文字符
2015/06/04 PHP
php简单创建zip压缩文件的方法
2016/04/30 PHP
PHP构造二叉树算法示例
2017/06/21 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
2020/03/29 PHP
jQuery ajax方法传递中文时出现中文乱码的解决方法
2016/07/25 Javascript
jQuery插件Validation快速完成表单验证的方式
2016/07/28 Javascript
jquery拖动改变div大小
2017/07/04 jQuery
Node.js Express安装与使用教程
2018/05/11 Javascript
使用vue-router beforEach实现判断用户登录跳转路由筛选功能
2018/06/25 Javascript
jQuery操作attr、prop、val()/text()/html()、class属性
2019/05/23 jQuery
javascript的惯性运动实现代码实例
2019/09/07 Javascript
jQuery擦除插件eraser使用方法详解
2020/01/11 jQuery
[02:25]DOTA2英雄基础教程 生死判决瘟疫法师
2013/12/06 DOTA
Python实现获取某天是某个月中的第几周
2015/02/11 Python
python通过装饰器检查函数参数数据类型的方法
2015/03/13 Python
用Python实现一个简单的线程池
2015/04/07 Python
python中pyqtgraph知识点总结
2021/01/26 Python
全球领先的鞋类零售商:The Walking Company
2016/07/21 全球购物
日常奢侈品,轻松购物:Verishop
2019/08/20 全球购物
英国在线照明超市:Castlegate Lights
2019/10/30 全球购物
请介绍一下WSDL的文档结构
2013/03/17 面试题
土木工程专业个人求职信
2013/12/05 职场文书
活动策划邀请函
2014/02/06 职场文书
小学毕业寄语大全
2014/04/03 职场文书
交通事故私了协议书
2014/04/16 职场文书
党支部三严三实对照检查材料思想汇报
2014/09/29 职场文书
2015年街道办事处工作总结
2015/05/22 职场文书
建国大业电影观后感
2015/06/01 职场文书
父亲节感言
2015/08/03 职场文书
redis限流的实际应用
2021/04/24 Redis
Python连接Postgres/Mysql/Mongo数据库基本操作大全
2021/06/29 Python