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 25 Python
使用python调用浏览器并打开一个网址的例子
Jun 05 Python
在Python中使用NLTK库实现对词干的提取的教程
Apr 08 Python
Django框架中数据的连锁查询和限制返回数据的方法
Jul 17 Python
Python简单连接MongoDB数据库的方法
Mar 15 Python
Python读取Json字典写入Excel表格的方法
Jan 03 Python
5款非常棒的Python工具
Jan 05 Python
python使用tcp实现局域网内文件传输
Mar 20 Python
PyCharm-错误-找不到指定文件python.exe的解决方法
Jul 01 Python
基于TensorBoard中graph模块图结构分析
Feb 15 Python
Python 读取位于包中的数据文件
Aug 07 Python
使用sublime text3搭建Python编辑环境的实现
Jan 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
「OVERLORD」动画重要删减!雅儿贝德的背叛?至尊猎杀队结成
2020/04/09 日漫
php4的session功能评述(三)
2006/10/09 PHP
php获取通过http协议post提交过来xml数据及解析xml
2012/12/16 PHP
PHP代码审核的详细介绍
2013/06/13 PHP
Linux系统下php获得系统分区信息的方法
2015/03/30 PHP
PHP中使用curl伪造IP的简单方法
2015/08/07 PHP
Symfony2在Nginx下的配置方法图文教程
2016/02/04 PHP
PHP基于关联数组20行代码搞定约瑟夫问题示例
2017/11/07 PHP
Javascript 生成指定范围数值随机数
2009/01/09 Javascript
innerText和innerHTML 一些问题分析
2009/05/18 Javascript
一个原生的用户等级的进度条
2010/07/03 Javascript
JavaScript 原型继承
2011/12/26 Javascript
零基础搭建Node.js、Express、Ejs、Mongodb服务器及应用开发入门
2014/12/20 Javascript
JavaScript实现查找字符串中第一个不重复的字符
2014/12/29 Javascript
javascript面向对象之this关键词用法分析
2015/01/13 Javascript
JavaScript编程中容易出BUG的几点小知识
2015/01/31 Javascript
深入理解JavaScript系列(19):求值策略(Evaluation strategy)详解
2015/03/05 Javascript
javascript插件开发的一些感想和心得
2016/02/28 Javascript
[原创]Javascript 实现广告后加载 可加载百度谷歌联盟广告
2016/05/11 Javascript
在angular 6中使用 less 的实例代码
2018/05/13 Javascript
vue+axios+promise实际开发用法详解
2018/10/15 Javascript
简单了解JS打开url的方法
2020/02/21 Javascript
Node.js中文件系统fs模块的使用及常用接口
2020/03/06 Javascript
[02:36]DOTA2英雄基础教程 帕格纳
2014/01/20 DOTA
python简单商城购物车实例代码
2018/03/15 Python
python远程调用rpc模块xmlrpclib的方法
2019/01/11 Python
jupyter notebook 多环境conda kernel配置方式
2020/04/10 Python
文秘自荐信
2013/10/20 职场文书
公司中层干部的自我评价分享
2014/03/01 职场文书
应届生求职信
2014/05/31 职场文书
高中国旗下的演讲稿
2014/08/28 职场文书
2015年度考核个人工作总结
2015/10/24 职场文书
民事调解协议书
2016/03/21 职场文书
mysql幻读详解实例以及解决办法
2022/06/16 MySQL
Linux中各个目录的作用与内容
2022/06/28 Servers
nginx代理实现静态资源访问的示例代码
2022/07/07 Servers