requests库接口测试一

 

 1、安装requests库:pip install requests 

# -*- coding: utf-8 -*- 
import requests

Host='http://localhost'
api_url=f'{Host}/api/bbb/ccccc/'
# header='Content-Type: application/json' #请求头是json格式
# header='Content-Type: application/x-www-form-urlencoded' #请求头是表单
payload={
            'action':'dddd',
            'data':'''{
                    "name":"温客行",
                    "desc":"老温",
                    "display_idx":111
                    }'''  #这个值是json格式,所以需要用3引号括起来,否则没有引号就会使用&自行拼接
}  #消息体都可以写成字典形式
reps=requests.post(api_url,data=payload)
# reps=requests.post(api_url,json=payload2) #当请求头是json格式时,则把data改成json
reps.encoding='unicode_escape'#设置响应编码显示中文
print(reps.text)#打印响应信息,字符串
print(reps.request.headers)#打印请求头
print(reps.request.body)#打印请求体

 

一、requests请求方法除了post,还有get、put、delete,参数都有url,区别见下表

 还有:
headers ,字典格式,传递请求头

file,字典格式,文件上传时使用

cookie,字典格式,传递cookie

 二、requests库响应消息response

 还有:

reps.cookies,获取cookies

reps.request.headers,获取请求头

reps.request.body,获取请求体

reps.status_code,获取响应状态码

reps.headers,获取响应头

 

如果想获取返回的某个值,之后做关联用,可以用 reps.json()['id']   按键名取字典值即可,因为reps.json()返回的是字典

如果返回的是字符串,就先转换为字典 json.loads(reps.text)['id'] 

三、再补充个文件上传,消息体不一样

fileload={
    'file':('周子舒.png',open(r'C:\Users\zhengc\Pictures\周子舒.png','rb'))
}
reps=requests.post(url,files=fileload,cookies=cookie)

 

posted @ 2021-05-11 17:40  七亿星空  阅读(110)  评论(0编辑  收藏  举报