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制作在地图上模拟瘟疫扩散的Gif图
Mar 31 Python
python smtplib模块自动收发邮件功能(二)
May 22 Python
python 3.7.0 安装配置方法图文教程
Aug 27 Python
Windows下Python3.6安装第三方模块的方法
Nov 22 Python
python 实现视频 图像帧提取
Dec 10 Python
对Tensorflow中Device实例的生成和管理详解
Feb 04 Python
如何通过python实现全排列
Feb 11 Python
利用4行Python代码监测每一行程序的运行时间和空间消耗
Apr 22 Python
Python 判断时间是否在时间区间内的实例
May 16 Python
python 动态渲染 mysql 配置文件的示例
Nov 20 Python
Python .py生成.pyd文件并打包.exe 的注意事项说明
Mar 04 Python
Python获取江苏疫情实时数据及爬虫分析
Aug 02 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生成百度sitemap站点地图类函数实例
2014/10/17 PHP
服务器上配置PHP运行环境教程
2015/02/12 PHP
详解WordPress开发中用于获取分类及子页面的函数用法
2016/01/08 PHP
thinkPHP5框架auth权限控制类与用法示例
2018/06/12 PHP
Linux下 php7安装redis的方法
2018/11/01 PHP
JavaScript进阶教程(第四课第一部分)
2007/04/05 Javascript
JavaScript等比例缩放图片控制超出范围的图片
2013/08/06 Javascript
Node.js中的事件驱动编程详解
2014/08/16 Javascript
自编jQuery插件实现模拟alert和confirm
2014/09/01 Javascript
Javascript中数组方法汇总(推荐)
2015/04/01 Javascript
Jquery和BigFileUpload实现大文件上传及进度条显示
2016/06/27 Javascript
Javascript中apply、call、bind的巧妙使用
2016/08/18 Javascript
分享JS代码实现鼠标放在输入框上输入框和图片同时更换样式
2016/09/01 Javascript
JavaScript实现使用Canvas绘制图形的基本教程
2016/10/27 Javascript
js实现下拉框效果(select)
2017/03/28 Javascript
基于vue+canvas的excel-like组件实例详解
2017/11/28 Javascript
浅谈Webpack下多环境配置的思路
2018/06/27 Javascript
详解vue使用vue-layer-mobile组件实现toast,loading效果
2018/08/31 Javascript
JS面试题大坑之隐式类型转换实例代码
2018/10/14 Javascript
JavaScript中BOM对象原理与用法分析
2019/07/09 Javascript
在SSM框架下用laypage和ajax实现分页和数据交互的方法
2019/09/27 Javascript
[01:53]DOTA2超级联赛专访Zhou 五年职业青春成长
2013/05/29 DOTA
python实现读取命令行参数的方法
2015/05/22 Python
TensorFlow实现创建分类器
2018/02/06 Python
python学习笔记--将python源文件打包成exe文件(pyinstaller)
2018/05/26 Python
python使用pygame框架实现推箱子游戏
2018/11/20 Python
Python基本类型的连接组合和互相转换方式(13种)
2019/12/16 Python
Pytorch环境搭建与基本语法
2020/06/03 Python
python画图时设置分辨率和画布大小的实现(plt.figure())
2021/01/08 Python
.TTL是什么?有什么用处,通常那些工具会用到它?(ping? traceroute? ifconfig? netstat?)
2016/05/09 面试题
网络书店创业计划书
2014/02/07 职场文书
婚礼司仪主持词
2014/03/14 职场文书
党的群众路线教育实践活动个人剖析材料
2014/10/07 职场文书
社区服务理念口号
2015/12/25 职场文书
让人感觉高大上的讲话稿怎么写?
2019/07/08 职场文书
MySQL中日期型单行函数代码详解
2021/06/21 MySQL