python接口自动化之带Header信息的请求封装
# coding=utf-8
import requests
from Logs.Log import Logger
import json
from Public.GetToken import Token
log=Logger('请求日志执行结果').getlog()
class WebRequests():
#传入get请求必要的参数
def get(self, url, params=None, headers=None, files=None,cookies=None):
'''封装get方法,return返回响应信息'''
try:
#设置headers信息
headers = {'Content-Type': 'application/json;charset=UTF-8'}
r = requests.get(url, params=params, headers=headers, files=files, cookies=cookies)
log.info("请求的内容:%s" % params)
status_code = r.status_code # 获取响应状态码
log.info("获取返回的状态码:%d" % status_code)
response_json = r.json() # 获取json格式类型的数据
log.info("响应内容:%s" % response_json)
return r # 返回响应的数据
log.info('接口请求成功')
except BaseException as e:
log.error("请求失败!", exc_info=1)
#传入post请求必要的参数
def post(self, url, data=None, headers=None, files=None,cookies=None):
'''封装post方法,return返回响应数据'''
try:
# 设置headers数据 里面token数据来源于Token类中的GetLoginToken()函数提取的数值
headers = {'Content-Type': 'application/json;charset=UTF-8','sid':Token().GetLoginToken()}
r = requests.post(url, data=data, headers=headers, files=files, cookies=cookies)
log.info("请求的内容:%s" % data)
status_code = r.status_code # 获取请求返回的状态码
log.info("获取返回的状态码:%d" % status_code)
response_json = r.json() # 获取json格式的相应信息
log.info("响应内容:%s" % response_json)
#返回获取的相应数据
return r
log.info('接口请求成功')
except BaseException as e:
log.error("请求失败!", exc_info=1)
注意:
1.需要设置单独的类去获取token信息
2.将token信息放置在header头中
3.封装后只传入data和url数据即可