requests库封装
2022/1/3 23:08:54
本文主要是介绍requests库封装,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
# _*_ coding:utf-8 _*_ # @Time : 2019/10/14 0014 # @ :requests.py # @ :PyCharm import json import requests from logging_class import log class HttpRequest: """2、 封装一个不需要记住cookie信息的请求类:HttpRequest""" def get(self, url, params=None, **kwargs): """get方法""" try: res = requests.get(url, params=params, **kwargs) log.debug(f"GET请求完成") except Exception as e: log.error(f"GET请求方法报错:{e}") else: return res def post(self, url, data=None, json=None, **kwargs): """post方法""" try: res = requests.post(url, data=data, json=json, **kwargs) log.debug(f"POST请求完成") except Exception as e: log.error(f"POST请求方法报错:{e}") else: return res def visit(self, method, url, params=None, data=None, **kwargs): """visit方法 (可以同时处理 get 和 post 请求)""" if method.upper() == "GET": return self.get(url, params=params, **kwargs) elif method.upper() == "POST": return self.post(url, data=data, **kwargs) else: return requests.request(method.lower(), url, **kwargs) def visit_json(self, method=None, url=None, params=None, data=None, json=None, **kwargs): """get_json方法 (可以同时处理 get 和 post 请求,及其他所有请求,且返回 json 格式数据)""" res = self.visit(method, url, params=params, data=data, json=json, **kwargs) try: return res.json() except Exception as e: log.error(f"解析JSON数据错误{e}") class HttpSession: """1、 封装一个能记住cookie信息的请求类:HttpSession""" def __init__(self): self.session = requests.session() def get(self, url, params=None, **kwargs): """get方法""" try: res = requests.get(url, params=params, **kwargs) except Exception as e: log.error(f"GET请求方法报错:{e}") else: return res def post(self, url, data=None, json=None, **kwargs): """post方法""" try: res = requests.post(url, data=data, json=json, **kwargs) except Exception as e: log.error(f"POST请求方法报错:{e}") else: return res def visit(self, method, url, **kwargs): """visit方法 (可以同时处理 get 和 post 请求,及其他所有请求)""" try: if method.upper() == "GET": return self.get(url, **kwargs) elif method.upper() == "POST": return self.post(url,**kwargs) else: return requests.request(method, url, **kwargs) except Exception as e: log.error(f"{method}请求方法报错:{e}") def json(self, method, url, params=None, data=None, json=None, **kwargs): """get_json方法 (可以同时处理 get 和 post 请求,及其他所有请求,且返回 json 格式数据)""" res = self.visit(method, url, params=params, data=data, json=json, **kwargs) try: return res.json() except Exception as e: log.error(f"解析JSON数据错误{e}") if __name__ == '__main__': pass
这篇关于requests库封装的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24内网穿透资料入门教程
- 2024-12-24微服务资料入门指南
- 2024-12-24微信支付系统资料入门教程
- 2024-12-24微信支付资料详解:新手入门指南
- 2024-12-24Hbase资料:新手入门教程
- 2024-12-24Java部署资料
- 2024-12-24Java订单系统资料:新手入门教程
- 2024-12-24Java分布式资料入门教程
- 2024-12-24Java监控系统资料详解与入门教程
- 2024-12-24Java就业项目资料:新手入门必备教程