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利用pyHook实现监听用户鼠标与键盘事件
Aug 21 Python
Python中的super用法详解
May 28 Python
Python实现输出程序执行进度百分比的方法
Sep 16 Python
Python读写/追加excel文件Demo分享
May 03 Python
python解决字符串倒序输出的问题
Jun 25 Python
Python父目录、子目录的相互调用方法
Feb 16 Python
Python 数据库操作 SQLAlchemy的示例代码
Feb 18 Python
Appium+python自动化怎么查看程序所占端口号和IP
Jun 14 Python
基于Python爬取爱奇艺资源过程解析
Mar 02 Python
python+OpenCV实现图像拼接
Mar 05 Python
分享一枚pycharm激活码适用所有pycharm版本我的pycharm2020.2.3激活成功
Nov 20 Python
完美处理python与anaconda环境变量的冲突问题
Apr 07 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
天使彦史上最神还原,性别曝光的那一刻,百万网友恋爱了
2020/03/02 国漫
PHP 登录完成后如何跳转上一访问页面
2014/01/14 PHP
PHP使用strtotime获取上个月、下个月、本月的日期
2015/12/30 PHP
Zend Framework入门教程之Zend_Registry组件用法详解
2016/12/09 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
2019/11/26 PHP
Code: write(s,d) 输出连续字符串
2007/08/19 Javascript
JavaScript中的Document文档对象
2008/01/16 Javascript
JavaScript 异步调用框架 (Part 6 - 实例 & 模式)
2009/08/04 Javascript
niceTitle 基于jquery的超链接提示插件
2010/05/31 Javascript
基于jquery的一个OutlookBar类,动态创建导航条
2010/11/19 Javascript
谈谈关于JavaScript 中的 MVC 模式
2013/04/11 Javascript
Javascript事件实例详解
2013/11/06 Javascript
javascript中interval与setTimeOut的区别示例介绍
2014/03/14 Javascript
Javascript字符串对象的常用方法简明版
2014/06/26 Javascript
Nodejs学习笔记之Global Objects全局对象
2015/01/13 NodeJs
jQuery Html控件基本操作(日常收集整理)
2016/03/11 Javascript
微信小程序 css使用技巧总结
2017/01/09 Javascript
vue.js全局API之nextTick全面解析
2017/07/07 Javascript
layui使用数据表格实现购物车功能
2019/07/26 Javascript
Vue-cli3.X使用px2 rem遇到的问题及解决方法
2019/08/08 Javascript
JavaScript实现滚动加载更多
2020/12/27 Javascript
python使用socket连接远程服务器的方法
2015/04/29 Python
Python实现的计算马氏距离算法示例
2018/04/03 Python
解决pycharm界面不能显示中文的问题
2018/05/23 Python
完美解决Python 2.7不能正常使用pip install的问题
2018/06/12 Python
python 字典中取值的两种方法小结
2018/08/02 Python
python3.7.0的安装步骤
2018/08/27 Python
python3实现表白神器
2019/04/09 Python
python的等深分箱实例
2019/11/22 Python
基于python 将列表作为参数传入函数时的测试与理解
2020/06/05 Python
Python非单向递归函数如何返回全部结果
2020/12/18 Python
利用CSS3的定位页面元素
2009/08/29 HTML / CSS
校庆活动方案
2014/03/31 职场文书
四风批评与自我批评范文
2014/10/14 职场文书
中小企业员工手册范本
2015/05/14 职场文书
致青春观后感
2015/06/09 职场文书