requests 库主要用来模拟发送 http请求。requests中发送请求的时候,我们希望能够使用日志模块记录下来。
requests 默认本身不会记录日志,下面通过封装让requests 库有日志记录的功能。
utils/myrequests.py
import requestsfrom mylogger import loggerclass MyRequests:def __init__(self):self.logger = loggerdef do_requests(self,method,url,params=None,data=None,json=None,**kwargs):"""自定义请求:param method: 请求方法:param url: 请求的url:param params: get请求参数:param data: post请求参数:param json: post 请求参数:param kwargs: 其他参数:return:"""if method== 'get':# 添加日志self.logger.debug(f"发送get请求,请求地址:{url},请求参数: {params}")# 调用requests get 请求r= requests.get(url,params=params,**kwargs)# 添加日志self.logger.debug(f"服务器返回结果:{r.text}")return relif method == "post":self.logger.debug(f'发送post请求,请求地址:{url},请求数据:{json}, {data}')r = requests.post(url,data=data,json=json,**kwargs)self.logger.debug(f'服务器返回结果:{r.text}')return rif __name__ == '__main__':# 模拟发送请求req = MyRequests()req.do_requests(method='get',url="http://47.100.175.62:3000/api/v1/topics")
运行代码,可以看到发送请求的时候 能够有日志在控制台输出,也有日志保存到文件中。
通过封装requests库,主要为后期编写自动化测试框架的时候 能够添加接口运行的日志功能,在封装的requests库中,添加日志记录功能。
