接口自动化框架搭建(二)--使用requests类编辑接口请求

打开pycharm,新建一个python文件

一、使用requests类发送一个post请求,实现如下图

首先导入requests包  -- import requests

其次定义url路径,下面的testurl只是一个变量名,可以根据实际情况定义

定义一个请求信息头,请求信息头需要采用python键值对输入,{“key1”:"value1","key2":"value2"}key1对应value1,中间用:分割,2个键值对中间用,分隔,外面用{}大括号框起来

定义一个请求body信息,请求body信息也需要采用python键值对输入

requests.post(url=请求路径,headers=请求信息头,data=请求body信息)这个命令是采用post请求方式访问指定路径,信息头和body信息的请求,并且会返回响应信息

把返回的响应信息赋值给res变量

print res.cookies 打印返回的响应信息的cookies内容

res.headers 响应信息的信息头内容

res.status_code 响应信息的状态码(200、404、500等等)

res.text 响应信息的body信息内容,一般用这个

res.content 响应信息的body信息内容(二进制),不常用

判断响应数据是否正确,采用re类的search方法进行判断,re.search(data,text),如果text里存在data,则返回True

实例:导入re类,如果返回的响应信息(res.text)包含了msg:1,则返回True,不包含返回False

二、使用requests类发送一个get请求,实现如下图

可以和前面对比下,基本都是一样的,有2点不一样

(1)、从requests.post换成了requests.get

(2)、注意:请求body信息参数名,post里面是data=表示,而get里面是用params=表示

requests库更多应用介绍

# 发送get请求获得一个response对象(我们可以从响应对象获得我们想要的一切数据) res = requests.get("https://api.github.com/events")
# 发送post请求 res = requests.post("http://httpbin.org/post",data={"key":"value", ...})
# 发送put请求 res = requests.put("http://httpbin.org/put",data={"key":"value", ...})
# 发送delete请求  res = requests.delete("http://httpbin.org/delete")
#发送head请求 res = requests.head("http://httpbin.org/get")
#发送options请求 res = requests.options("http://httpbin.org/get") 
构造请求参数发送请求
get请求参数构造
 # 请求参数 payload = {'key1': 'value1', 'key2': 'value2'} res = requests.get("http://httpbin.org/get",params=payload)# 注意是params参数 # requests 会自动帮我们拼接请求地址 # url= http://httpbin.org/get?key1=value1&key2=value2 //针对get请求使用的即使params参数,post请求使用的是data参数

post form表单请求参数构造
 # form表单要提交的数据 payload = {'key1': 'value1', 'key2': 'value2'} res = requests.post("http://httpbin.org/post",data=payload)# 注意是data参数

post json对象请求提交参数
# post 提交json对象数据 payload = {'key1': 'value1', 'key2': 'value2'} res = requests.post("http://httpbin.org/post",data=json.dumps(payload))# 第一种方式 res = requests.post("http://httpbin.org/post",json=payload)# 第二种方式
构造请求头headers
# 构造请求头,请求头也是字典格式 headers = {'user-agent': 'my-app/0.0.1'} url = "https://api.github.com/some/endpoint" res = requests.get(url,headers=headers)
构造cookies请求
# 构造cookies cookies = dict(sessionId='Jsession3123131') url = "http://httpbin.org/cookies" requests.get(url,cookies=cookies) //比如有些应用可能需要携带某些cookie才能验证授权,那么此时就很有用了
构造请求超时设置
# 设置请求超时时间 requests.get('http://github.com', timeout=0.01) # 0.01秒没响应就请求超时失败

Response响应内容
content = res.content(原始二进制数据)
# 大部分情况使用这个方法 text = res.text(文本数据信息,requests自动帮我们以指定编码解析出来的内容)
# 响应json数据信息,通常我们使用json模块来处理 json_data = res.json()
# 响应状态码 status_code=res.status_code
# 响应头 headers = res.headers
# 响应cookies信息 cookies = res.cookies
原文地址:https://www.cnblogs.com/heng-xin/p/7911010.html