为什么要做二次封装request请求接口?接口请求包含很多种类型:GET、POST、PUT、DELETE等…
数据已经成功获取到了,接下来就可以封装request请求来请求接口。
#默认先执行__init__(self)
def __init__(self):
self.session = requests.Session() # 初始化requests.sessionh()会话对象
self.host = con.host # 请求地址
使用request请求
依赖包:requests == 2.24.0
安装依赖包:pip3 install request == 2.24.0
# 日志输入请求信息
def send_request(self,method, url, headers=None, data=None, **kwargs):
log.info("请求方式:【%s】,请求host:【%s】,请求地址:【%s】,请求Headers:【%s】,请求参数Body:【%s】"
% (method, self.host, url, headers, data))
# 根据用例的请求方式来判断请求
method = method.upper()
if 'POST' == method:
response = self.session.request(method=method, url=self.host+url,headers=headers, data=json.dumps(data), stream=True, verify=False,**kwargs)
log.info(response.json())
elif 'GET' == method:
response = self.session.request(method=method, url=self.host+url, headers=headers, stream=True, verify=False, **kwargs)
log.info(response.json())
elif 'PUT' == method:
response = self.session.request(method=method, url=self.host+url,headers=headers, data=json.dumps(data), stream=True, verify=False,**kwargs)
log.info(response.json())
elif 'DELETE' == method:
response = self.session.request(method=method, url=self.host+url,headers=headers,stream=True, verify=False,**kwargs)
log.info(response.json())
else:
raise ValueError('request method "{}" error ! please check'.format(method))
return response
完整代码 包含(钉钉/飞书)推送/报警:去下载
结合 Docker+Jenkins自动化环境部署 即可完成完美的线上服务监控 (还在等什么?快去试试吧!!!)
小白即可搭建自动化环境