背景介绍
随着Web服务的普及,处理多种HTTP请求的系统变得越来越重要。一个能够接收URL、请求方法,输出响应数据结构的封装类,不仅能够提高代码的可维护性,还能在实际开发中快速验证功能。本文将展示一个Python实现的HTTP请求封装类,该类支持GET和POST请求,能够处理JSON响应并输出结构化结果。
思路分析
1. 技术点梳理
- 请求封装:需要封装发送HTTP请求的逻辑,简化代码复用。
- 响应解析:处理JSON响应的结构化输出,确保数据格式正确。
- 简洁性:代码结构清晰,便于后续扩展或测试。
2. 代码实现
以下是一个封装类的实现示例:
import requests
class HttpRequest:
def __init__(self, url: str, method: str):
self.url = url
self.method = method
self.response = None
def send_request(self):
try:
response = requests.request(self.method, self.url, timeout=10)
self.response = response.json()
return self.response
except requests.exceptions.RequestException as e:
print(f"请求异常: {e}")
return None
def get_status(self):
if self.response:
return self.response.get("status")
else:
return "error"
# 示例使用
if __name__ == "__main__":
req = HttpRequest("https://api.example.com/data", "GET")
resp = req.send_request()
print(f"响应状态: {req.get_status()}")
print(resp)
可运行代码
示例运行结果
输入:
– URL: https://api.example.com/data`GET`
- 方法:
输出:
{
"status": "success",
"data": {
"items": [
{
"id": 1,
"title": "示例数据1"
},
{
"id": 2,
"title": "示例数据2"
}
]
}
}
总结
本封装类实现了HTTP请求的封装功能,支持GET和POST请求,并通过JSON响应结构化输出数据。该类的设计简化了HTTP请求的处理逻辑,提高了代码的可维护性和可扩展性。该实现可在1~3天内完成,适合中级开发者进行实际开发。
该封装类不仅满足了问题要求,还提供了良好的可测试性和可维护性,便于后续的扩展和优化。