python3.x上post发送json数据
作者:laozhang 发布时间:2021-07-03 02:07:23
标签:python3.x,post,json
一.摘要
做接口自动化测试时,常常需要使用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封装时的结果图片
封装成功后的结果图片


猜你喜欢
- 如何用Access加密页面?很简单哦,看看这个用用Access和ASP做的加密程序: <%userid =&nbs
- 虽然现在有许多网页制作工具能让您轻松地完成工作,但如果使用HTML则可以得到更大控制权,下面介绍几个小技巧。1.使用语句来控制文字排版比用好
- 知乎上有人说,Python3.6以后字典有序且更高效了。群里有同学推荐了这篇文章给我看,并咨询字典排序的问题。大致浏览了一下,我当即表示不能
- 这是一个access较为豪华的包装范例,他调用了flash的流媒体控件,利用flash的交互与通信功能,借以达到了我们装扮软件的目的。fla
- 本文实例讲述了原生JS实现的简单轮播图功能。分享给大家供大家参考,具体如下:经过几天的努力,终于攻克了这一难题,于是迫不及待的想要分享给大家
- 前几天在把一个Communtiy Server 的数据库从SQL 2000升级到SQL 2005&n
- 本文实例为大家分享了TensorFlow实现Logistic回归的具体代码,供大家参考,具体内容如下1.导入模块import numpy a
- 简述Matplotlib是一个基于python的2D画图库,能够用python脚本方便的画出折线图,直方图,功率谱图,散点图等常用图表,而且
- 本文实例讲述了Python过滤列表用法。分享给大家供大家参考,具体如下:过滤列表[mapping-expression for elemen
- 前言ipaddress库提供了处理IPv4与IPv6网络地址的类。这些类支持验证,查找网络上的地址和主机,以及其他常见的操作。本篇,将详细介
- 前言python学习之路任重而道远,要想学完说容易也容易,说难也难。很多人说python最好学了,但扪心自问,你会用python做什么了?刚
- 最近要做一个网站需要用到天气预报,本来是想找到API,自己写一个自己的天气预报小程序的,没有成功,只好去找现成的代码调用。经过测
- 本文实例讲述了Python使用matplotlib 模块scatter方法画散点图。分享给大家供大家参考,具体如下:# -*-coding:
- 1. 吊顶下拉菜单的键盘可用性改进无障碍访问貌似最近比较火,大家都在聊,其中一块就是键盘的可访问性。我们在首页上作了些调整,让用户可以通过键
- 主要讲 except 和 not in 的性能上的区别。 CREATE TABLE tb1(ID int) CREATE TABLE tb2
- 1、cd /usr/local/ ##进入local目录2、cp /home/soft/MySQL-5.7.15-Linux-glibc2.
- python 迭代器与生成器,装饰器迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器有两个基本的方法:iter()
- 一:安装PyQt5pip install pyqt5如果你的系统没有安装pip请阅读我们的另一篇文章 windows下python安装pip
- 一、粗心导致的语法错误SyntaxError1、input输入报错age=input('请输入你的年龄:')if age&g
- 有史以来最牛逼的绘图工具,没有之一plotly是现代平台的敏捷商业智能和数据科学库,它作为一款开源的绘图库,可以应用于Python、R、MA