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学习笔记之解析json的方法分析
Apr 21 Python
python实现的AES双向对称加密解密与用法分析
May 02 Python
python数据处理实战(必看篇)
Jun 11 Python
Python抓取框架Scrapy爬虫入门:页面提取
Dec 01 Python
Python数据分析之获取双色球历史信息的方法示例
Feb 03 Python
浅谈python numpy中nonzero()的用法
Apr 02 Python
python线程池threadpool使用篇
Apr 27 Python
Django中密码的加密、验密、解密操作
Dec 19 Python
Python tkinter布局与按钮间距设置方式
Mar 04 Python
python实现ftp文件传输功能
Mar 20 Python
TensorFlow打印输出tensor的值
Apr 19 Python
PyQt5 QDockWidget控件应用详解
Aug 12 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
header跳转和include包含问题详解
2012/09/08 PHP
PHP中preg_match函数正则匹配的字符串长度问题
2015/05/27 PHP
php循环table实现一行两列显示的方法
2015/06/04 PHP
PHP扩展迁移为PHP7扩展兼容性问题记录
2016/02/15 PHP
Zend Framework入门教程之Zend_Registry组件用法详解
2016/12/09 PHP
PDO实现学生管理系统
2020/03/21 PHP
JavaScript 中的replace方法说明
2007/04/13 Javascript
Confirmer JQuery确认对话框组件
2010/06/09 Javascript
jquery乱码与contentType属性设置问题解决方案
2013/01/07 Javascript
JS动态添加与删除select中的Option对象(示例代码)
2013/12/20 Javascript
jquery教程限制文本框只能输入数字和小数点示例分享
2014/01/13 Javascript
JS中判断null、undefined与NaN的方法
2014/03/24 Javascript
JS中获取函数调用链所有参数的方法
2015/05/07 Javascript
所见即所得的富文本编辑器bootstrap-wysiwyg使用方法详解
2016/05/27 Javascript
对jQuary选择器的全面总结
2016/06/20 Javascript
浅谈javascript中关于日期和时间的基础知识
2016/07/13 Javascript
jQuery实现可展开折叠的导航效果示例
2016/09/12 Javascript
JavaScript实现大图轮播效果
2017/01/11 Javascript
详解Node.js开发中的express-session
2017/05/19 Javascript
jQuery选择器之属性筛选选择器用法详解
2017/09/19 jQuery
vue.js或js实现中文A-Z排序的方法
2018/03/08 Javascript
几个你不知道的技巧助你写出更优雅的vue.js代码
2018/06/11 Javascript
webpack4.x下babel的安装、配置及使用详解
2019/03/07 Javascript
vue常用高阶函数及综合实例
2021/02/25 Vue.js
[01:04:02]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第二场 1月24日
2021/03/11 DOTA
Python yield 使用方法浅析
2017/05/20 Python
Python实现的矩阵类实例
2017/08/22 Python
Python科学计算包numpy用法实例详解
2018/02/08 Python
详解Python 切片语法
2019/06/10 Python
Python 使用 prettytable 库打印表格美化输出功能
2019/12/26 Python
python 实现任务管理清单案例
2020/04/25 Python
商务英语专业自荐信
2013/10/14 职场文书
年终总结会主持词
2014/03/25 职场文书
教师读书活动总结
2014/05/07 职场文书
2016年全国爱眼日宣传教育活动总结
2016/04/05 职场文书
简单介绍Python的第三方库yaml
2021/06/18 Python