背景介绍
在现代应用开发中,网络通信是关键环节。本项目旨在实现用户输入JSON数据后,自动通过HTTP请求获取响应状态码并返回给用户的功能,支持本地运行,无需依赖框架或服务。
思路分析
本项目的核心是:
1. 使用requests.get()发送POST请求
2. 通过json模块解析响应内容
3. 实现异常处理逻辑
请求格式:
POST /api/data HTTP/1.1
Content-Type: application/json
响应格式:
{"status": "success", "message": "请求成功"}
异常处理逻辑将捕获可能的网络错误或JSON解析异常,并返回对应的错误信息,提升系统的健壮性。
代码实现
import requests
import json
def get_status_response(json_data):
"""接收JSON数据,返回包含状态码的响应"""
try:
response = requests.post(
url="http://localhost:8080/api/data",
json=json_data,
headers={'Content-Type': 'application/json'},
timeout=5 # 设置超时时间
)
# 检查状态码是否成功
if response.status_code == 200: # 200表示成功
return {
"status": "success",
"message": "请求成功"
}
else:
return {
"status": "error",
"message": f"请求失败: {response.status_code}"
}
except requests.exceptions.RequestException as e:
return {
"status": "error",
"message": f"网络请求异常: {e}"
}
# 示例使用
if __name__ == "__main__":
json_input = {"name": "张三", "age": 25}
result = get_status_response(json_input)
print(result)
总结
本项目实现了两个核心功能:
1. 网络请求:使用requests.get()发送POST请求
2. 响应解析:通过json模块解析响应内容
代码中实现了异常处理,确保系统健壮运行。整个实现过程通过本地开发验证,符合项目需求。