原创

使用 Python 构建简单的 HTTP 服务器

温馨提示:
本文最后更新于 2024年07月23日,已超过 254 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

使用 Python 构建简单的 HTTP 服务器

1. 简介

本文档将引导你使用 Python 创建一个简单的 HTTP 服务器,用于处理基本的 HTTP 请求和响应。我们将使用 Python 的内置模块 http.server 来实现这一功能。

2. 准备工作

  • 确保你的系统已安装 Python。
  • 理解基本的 HTTP 协议概念,如请求方法、状态码和响应头。

3. 代码实现

```python from http.server import HTTPServer, BaseHTTPRequestHandler

class SimpleHTTPRequestHandler(BaseHTTPRequestHandler): def do_GET(self): self.send_response(200) self.send_header('Content-type', 'text/html') self.end_headers() self.wfile.write(b'

Hello, World!

')

if name == 'main': hostName = 'localhost' serverPort = 8080

webServer = HTTPServer((hostName, serverPort), SimpleHTTPRequestHandler)
print("服务器启动在 http://%s:%s" % (hostName, serverPort))

try:
    webServer.serve_forever()
except KeyboardInterrupt:
    pass

webServer.server_close()
print("服务器关闭")

```

4. 代码解释

  • SimpleHTTPRequestHandler 类: 继承自 BaseHTTPRequestHandler,并重写 do_GET 方法来处理 GET 请求。
    • send_response 方法发送 HTTP 状态码。
    • send_header 方法发送响应头。
    • end_headers 方法发送空行,表示头部结束。
    • wfile.write 方法发送响应内容。
  • HTTPServer 类: 创建一个 HTTP 服务器,并指定监听地址和端口,以及处理请求的类。
  • serve_forever() 方法: 开始监听并处理请求,直到用户手动中断。

5. 运行代码

保存代码到 server.py 文件,然后在终端运行以下命令启动服务器:

bash python server.py

服务器将在 http://localhost:8080 地址监听请求。

6. 测试服务器

在浏览器中访问 http://localhost:8080,你将看到网页显示 "Hello, World!"。

7. 扩展功能

你可以根据需要扩展 SimpleHTTPRequestHandler 类,实现其他功能,例如:

  • 处理 POST 请求。
  • 发送不同的响应内容。
  • 动态生成网页内容。
  • 处理文件上传和下载。

8. 总结

本文档介绍了使用 Python 创建简单 HTTP 服务器的基本方法,并提供了一个示例代码。通过扩展该代码,你可以创建更强大的 HTTP 服务器,满足不同的需求。

正文到此结束