背景介绍
网络请求工具用于封装通用的HTTP请求功能,支持GET请求并处理响应数据,支持参数传递、状态判断等核心功能。该工具可灵活处理不同语言的请求,支持JSON或文本响应的解析与状态判断,适用于Web服务开发、API调用等场景。
思路分析
- 请求参数解析:用户输入URL和参数(如
user_id=123),通过字典或键值对将参数传递至请求函数。 - 请求发送:使用
requests.get()发送GET请求,支持带参数的参数传递。 - 响应处理:解析响应内容为JSON或文本,并判断状态码(如
200表示成功,500表示失败)。 - 异常处理:捕获网络异常并返回错误信息,保障请求的健壮性。
代码实现
import requests
def get_request(url, params=None, status_code=False):
"""
发送GET请求并处理响应,返回状态信息或响应内容。
:param url: 请求的目标URL
:param params: 请求参数(可空)
:param status_code: 是否返回状态码(默认False)
:return: 处理后的响应内容或状态码
"""
try:
response = requests.get(url, params=params)
response.raise_for_status()
if status_code:
return {"status": "success", "data": response.json()}
else:
return {"status": "error", "message": "请求失败"}
except requests.exceptions.RequestException as e:
return {"status": "error", "message": f"网络请求失败: {e}"}
# 示例使用
url = "https://api.example.com/data"
params = {"user_id": 123, "format": "json"}
result = get_request(url, params=params)
print(result) # 输出: {"status": "success", "data": "{'data': '123'}"}
总结
该工具实现了GET请求的基本功能,支持参数传递和状态信息的判断,适用于Web服务开发场景。通过明确的异常处理机制和可扩展的参数解析,确保了网络请求的稳定性和健壮性。代码示例展示了如何实现基本的功能,并标注了使用的编程语言为Python。
# 输出处理后的响应数据
if result["status"] == "success":
print("成功获取响应内容:")
print(result["data"])
else:
print("请求失败:状态码为 $result['status']")