Python 中 http.server 库的详细用法介绍

2024-12-28 22:12:00   小编

Python 中的 http.server 库是一个非常实用的工具,用于快速搭建简单的 HTTP 服务器。在本文中,我们将详细介绍其用法。

http.server 库是 Python 标准库的一部分,无需额外安装即可使用。我们需要导入 http.serversocketserver 模块。

以下是一个创建基本 HTTP 服务器的示例代码:

import http.server
import socketserver

# 设置端口
PORT = 8080

# 创建服务器对象
Handler = http.server.SimpleHTTPRequestHandler
with socketserver.TCPServer(("", PORT), Handler) as httpd:
    print(f"Serving at port {PORT}")
    # 启动服务器,直到手动停止
    httpd.serve_forever()

在上述代码中,我们指定了服务器监听的端口为 8080。SimpleHTTPRequestHandler 处理传入的 HTTP 请求。

http.server 库还支持自定义请求处理。您可以创建自己的 BaseHTTPRequestHandler 子类来处理特定的请求路径和方法。

例如,以下是一个处理特定路径请求的示例:

import http.server

class MyHandler(http.server.BaseHTTPRequestHandler):
    def do_GET(self):
        if self.path == '/custom_path':
            self.send_response(200)
            self.send_header('Content-type', 'text/html')
            self.wfile.write(b'<h1>Custom Page Content</h1>')
        else:
            self.send_error(404)

# 设置端口
PORT = 8080

# 创建服务器对象
with socketserver.TCPServer(("", PORT), MyHandler) as httpd:
    print(f"Serving at port {PORT}")
    httpd.serve_forever()

在这个示例中,当访问 /custom_path 路径时,服务器会返回自定义的页面内容。

http.server 库还可以用于文件共享。只需将当前目录设置为服务器根目录,即可通过 HTTP 访问其中的文件。

http.server 库为 Python 开发者提供了一种便捷的方式来创建和测试简单的 HTTP 服务。无论是用于快速原型开发、本地文件共享还是学习 HTTP 协议的基本原理,它都具有很大的实用价值。希望您通过本文对 http.server 库的用法有了更清晰的了解,并能在实际项目中灵活运用。

TAGS: Python 网络编程 Python_http.server 库 Python 库介绍 Python 服务器

欢迎使用万千站长工具!

Welcome to www.zzTool.com