博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用python实现接口测试(一 、使用POST和GET请求api)
阅读量:6376 次
发布时间:2019-06-23

本文共 1534 字,大约阅读时间需要 5 分钟。

相信大家都知道,用Python来做接口测试,使用的方法很多,如POST、GET等方法请求API参数。

下面就来学习Python3+urllib这两个库来实现POST和GET下的api请求实例,附上代码注释:

一、接口相关信息。如下:

img_61d66700ee25e0ed504075eea22ed856.png
图片来自简书1

二、我们可以把:name换成豆瓣老大阿北的用户名,即https://api.douban.com/v2/book/user/ahbei/collections,来看看阿北平时喜欢看什么书

1.用post方法请求api

#coding:utf-8

#auther:xiaozhong

#Data:2017-11-12 15:30

""""用post方法请求api:这种方式把参数放在请求内容中传递,比较安全"""

importurllib.request,urllib# 把这两个库导入

url ='https://api.douban.com/v2/book/user/ahbei/collections'# 这是要请求的url

data={'status':'read','rating':4,'tag':'小说'}# 根据api文档提供的参数,我们来获取一下阿北读过的书中,他标记了‘小说’这个标签的三星书籍,把这些参数值存在一个dict里

#data = urllib.parse.urlencode(data) # 把参数进行编码

data = urllib.parse.urlencode(data).encode(encoding='UTF8')

url2 = urllib.request.Request(url,data)# 用.Request来发送POST请求,指明请求目标是之前定义过的url,请求内容放在data里

response = urllib.request.urlopen(url2)# 用.urlopen打开上一步返回的结果,得到请求后的响应内容

apicontent = response.read()#将响应内容用read()读取出来

print('用post方法请求api')

print(apicontent)#打印读取到的内容

2.用get方法请求api

#coding:utf-8

#auther:xiaozhong

#Data:2017-11-12 15:30

""""用get方法请求api:这种方式把参数放在直接放在url中"""

url ='https://api.douban.com/v2/book/user/ahbei/collections'

data = {'status':'read','rating':3,'tag':'小说'}

data = urllib.parse.urlencode(data)

url = url +'?'+ data

""""跟post不同的只有这一句,使用?把url和data的内容连接起来,

结果是https://api.douban.com/v2/book/user/ahbei/collecti

ons?status=read&rating=3&tag=%E5%B0%8F%E8%AF%B4"""

response = urllib.request.urlopen(url2)# 用.urlopen打开上一步返回的结果,得到请求后的响应内容

apicontent = response.read()#将响应内容用read()读取出来

print('用get方法请求api')

print(apicontent)#打印读取到的内容

三、运行结果分析

从下图可以看出,POST和GET的请求结果是一致的

img_598c29754c3e6ee6129d1af049d5dd77.png
图片来自简书2

转载地址:http://minqa.baihongyu.com/

你可能感兴趣的文章
china-pub十一周年庆,多重优惠隆重登场,千万别错过哟!
查看>>
HDU 3068 最长回文(manacher算法)
查看>>
二叉树
查看>>
Python featureClass clip Tin
查看>>
.NET基础篇——Entity Framework 数据转换层通用类
查看>>
求旋转数组中的最小值
查看>>
Android中获取应用程序(包)的信息-----PackageManager的使用(一)
查看>>
HDOJ1018 ( Big Number ) 【斯特林公式---处理阶乘及阶乘位数的问题】
查看>>
true运算符和false运算符重载的例子
查看>>
前端工程性能与优化
查看>>
搞不清FastCgi与PHP-fpm之间是个什么样的关系(转载)
查看>>
jQuery $.fn.extend方式自定义插件
查看>>
Java中实例方法,实例变量,静态方法,静态变量,final方法重写的问题,覆盖...
查看>>
手机表单验证插件mvalidate的使用
查看>>
控制台应用程序获取计算机名
查看>>
SQL Server 备份的 8 种方法。
查看>>
工作笔记--哪些bug应由研发发现?
查看>>
Mac Pro 安装 最新版的 SVN 1.9.4
查看>>
AE二次开发中,过滤后的图层,实现缩放至图层效果
查看>>
Android中Touch事件分析--解决HorizontalScrollView滑动和按钮事件触发问题
查看>>