背景介绍
本项目通过 Python 实现一个简单的 HTTP web app,接收 POST 请求,处理 JSON 数据并返回 HTTP 响应。该项目采用标准库 http.server 创建服务器,无需依赖任何框架或外部服务,可在本地环境中运行。核心知识点包括文件读取与数据处理、HTTP 响应格式化,适用于 1~3 天学习。
思路分析
- 处理 POST 请求
- 使用
http.server模块接收 JSON 数据 - 标准的 HTTP POST 请求格式(例如
{"name": "John", "age": 25})
- 使用
- 构建 HTTP 响应
- 构建
HTTP/1.1 200 OK格式 - 设置
Content-Type为application/json - 构造包含处理后的数据的响应体
- 构建
- 实现核心功能
- 读取输入 JSON 数据
- 构造 HTTP 响应对象
- 发送 HTTP 请求
代码实现
import http.server
class MyServer(http.server.BaseHTTPRequestHandler):
def do_POST(self):
# 读取 JSON 数据
try:
self._request_json = self.request
# 构造 HTTP 响应
response_body = {
"name": self.request["name"],
"age": int(self.request["age"])
}
self.send_response(200)
self.send_header("HTTP/1.1", "OK")
self.send_header("Content-Type", "application/json")
self.end_headers(json.dumps(response_body))
except:
self.send_error(404)
# 创建服务器
def main():
server_address = ('localhost', 8000)
http.server.ThreadingWebServer(server_address, MyServer)
if __name__ == "__main__":
main()
总结
本项目实现了 Python 程序的 HTTP server,能够接收 JSON 数据并返回 HTTP 响应。核心知识点包括文件读取与数据处理、HTTP 响应格式化。项目可通过本地环境运行,并在1~3天内完成实现,具有良好的学习价值。
学习价值:
– 学习了 Python 中的文件读取与网络请求处理
– 掌握了 HTTP 响应格式化和标准库的使用
– 了解了 Python 程序开发的基础知识
该项目可单独运行,无需外部依赖,适合初学者学习网络编程的基础知识。