requests 库主要用来模拟发送 http请求。requests中发送请求的时候,我们希望能够使用日志模块记录下来。
    requests 默认本身不会记录日志,下面通过封装让requests 库有日志记录的功能。
    utils/myrequests.py

    1. import requests
    2. from mylogger import logger
    3. class MyRequests:
    4. def __init__(self):
    5. self.logger = logger
    6. def do_requests(self,method,url,params=None,data=None,json=None,**kwargs):
    7. """
    8. 自定义请求
    9. :param method: 请求方法
    10. :param url: 请求的url
    11. :param params: get请求参数
    12. :param data: post请求参数
    13. :param json: post 请求参数
    14. :param kwargs: 其他参数
    15. :return:
    16. """
    17. if method== 'get':
    18. # 添加日志
    19. self.logger.debug(f"发送get请求,请求地址:{url},请求参数: {params}")
    20. # 调用requests get 请求
    21. r= requests.get(url,params=params,**kwargs)
    22. # 添加日志
    23. self.logger.debug(f"服务器返回结果:{r.text}")
    24. return r
    25. elif method == "post":
    26. self.logger.debug(f'发送post请求,请求地址:{url},请求数据:{json}, {data}')
    27. r = requests.post(url,data=data,json=json,**kwargs)
    28. self.logger.debug(f'服务器返回结果:{r.text}')
    29. return r
    30. if __name__ == '__main__':
    31. # 模拟发送请求
    32. req = MyRequests()
    33. req.do_requests(method='get',url="http://47.100.175.62:3000/api/v1/topics")

    运行代码,可以看到发送请求的时候 能够有日志在控制台输出,也有日志保存到文件中。


    通过封装requests库,主要为后期编写自动化测试框架的时候 能够添加接口运行的日志功能,在封装的requests库中,添加日志记录功能。