用python实现接口测试(一 、使用POST和GET请求api)

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

下面就 豆瓣图书的用户收藏信息api来学习Python3+urllib这两个库来实现POST和GET下的api请求实例,附上代码注释:

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

图片来自简书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的请求结果是一致的

图片来自简书2
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 137,183评论 19赞 139
  • 1 前言 作为一名合格的数据分析师,其完整的技术知识体系必须贯穿数据获取、数据存储、数据提取、数据分析、数据挖掘、...
    whenif阅读 18,353评论 45赞 523
  • 一、概述 urllib2是Python的一个针对URLs的库。他以urlopen函数的形式提供了一个非常简单的...
    MiracleJQ阅读 1,576评论 0赞 5
  • 1、开启公众号开发者模式 公众平台的技术文档目的为了简明扼要的交代接口的使用,语句难免苦涩难懂,甚至对于不同的读者...
    good7758阅读 1,713评论 0赞 1
  • 孩子,真想抱抱你们。 “冬风吹,战鼓擂,七班比赛怕过谁,怕过谁!”教室里的灯已熄灭,孩子们早已在冷风中奔向温暖的港...
    李凯丽阅读 796评论 0赞 0

友情链接更多精彩内容