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开发之IDEL(Python GUI)的使用方法图文详解
Nov 12 Python
今天 平安夜 Python 送你一顶圣诞帽 @微信官方
Dec 25 Python
Python+matplotlib+numpy绘制精美的条形统计图
Jan 02 Python
Python中一行和多行import模块问题
Apr 01 Python
python3 requests中使用ip代理池随机生成ip的实例
May 07 Python
利用python的socket发送http(s)请求方法示例
May 07 Python
Python开发虚拟环境使用virtualenvwrapper的搭建步骤教程图解
Sep 19 Python
Python中请不要再用re.compile了
Jun 30 Python
Python 的字典(Dict)是如何存储的
Jul 05 Python
python中return的返回和执行实例
Dec 24 Python
Python函数的迭代器与生成器的示例代码
Jun 18 Python
python基础之匿名函数详解
Apr 21 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
Windows PHP5和Apache的安装与配置
2009/06/08 PHP
PHP缓冲区用法总结
2016/02/14 PHP
PHP动态生成指定大小随机图片的方法
2016/03/25 PHP
游戏人文件夹程序 ver 4.03
2006/07/14 Javascript
你必须知道的Javascript知识点之"单线程事件驱动"的使用
2013/04/23 Javascript
node.js中的http.response.removeHeader方法使用说明
2014/12/14 Javascript
再JavaScript的jQuery库中编写动画效果的指南
2015/08/13 Javascript
Bootstrap每天必学之简单入门
2015/11/19 Javascript
javascript实现标签切换代码示例
2016/05/22 Javascript
Angularjs实现带查找筛选功能的select下拉框示例代码
2016/10/04 Javascript
Bootstrap3 内联单选和多选框
2016/12/29 Javascript
微信小程序之MaterialDesign--input组件详解
2017/02/15 Javascript
Vue学习笔记进阶篇之多元素及多组件过渡
2017/07/19 Javascript
[js高手之路]原型式继承与寄生式继承详解
2017/08/28 Javascript
VUE实现一个分页组件的示例
2017/09/13 Javascript
elemetUi 组件--el-upload实现上传Excel文件的实例
2017/10/27 Javascript
nodejs微信扫码支付功能实现
2018/02/17 NodeJs
纯js封装的ajax功能函数与用法示例
2018/05/14 Javascript
使用vue-cli webpack 快速搭建项目的代码
2018/11/21 Javascript
Python学习之asyncore模块用法实例教程
2014/09/29 Python
python matplotlib中文显示参数设置解析
2017/12/15 Python
python如何让类支持比较运算
2018/03/20 Python
Python Logging 日志记录入门学习
2018/06/02 Python
Python OpenCV利用笔记本摄像头实现人脸检测
2020/08/20 Python
Python Numpy计算各类距离的方法
2019/07/05 Python
如何把外网python虚拟环境迁移到内网
2020/05/18 Python
python/golang 删除链表中的元素
2020/09/14 Python
HTML5+CSS3实现无插件拖拽上传图片(支持预览与批量)
2017/01/05 HTML / CSS
一套PHP的笔试题
2013/05/31 面试题
皮肤科医师岗位职责
2013/12/04 职场文书
门卫人员岗位职责
2013/12/24 职场文书
《识字五》教学反思
2014/03/01 职场文书
小学向国旗敬礼活动方案
2014/09/27 职场文书
小学生光盘行动倡议书
2015/04/28 职场文书
幼儿园毕业致辞
2015/07/29 职场文书
如何用python清洗文件中的数据
2021/06/18 Python