欢迎访问宙启技术站
智能推送

使用Python的SimpleHTTPRequestHandler()创建一个简单的HTTP服务器

发布时间:2023-12-17 12:45:10

from http.server import SimpleHTTPRequestHandler, HTTPServer


class CustomHandler(SimpleHTTPRequestHandler):
    def do_GET(self):
        if self.path == '/':
            self.send_response(200)
            self.send_header('Content-type', 'text/html')
            self.end_headers()
            self.wfile.write(b'Hello, World!')
        else:
            self.send_response(404)
            self.send_header('Content-type', 'text/html')
            self.end_headers()
            self.wfile.write(b'Page not found')


def run(server_class=HTTPServer, handler_class=CustomHandler, port=8000):
    server_address = ('', port)
    httpd = server_class(server_address, handler_class)
    print(f'Starting server on port {port}...')
    httpd.serve_forever()


if __name__ == '__main__':
    run()

上述代码创建了一个简单的HTTP服务器,它基于SimpleHTTPRequestHandler类。我们自定义了一个处理程序CustomHandler,它是SimpleHTTPRequestHandler的子类,并重写了do_GET方法来处理GET请求。

在上面的例子中,如果客户端请求的路径是根路径'/',服务器将返回200状态码和'Hello, World!'的文本。如果路径不是根路径,我们返回404状态码和'Page not found'的文本。

使用run()函数来启动服务器,默认监听端口8000。你可以使用自己的端口号,如run(port=8080)。运行代码后,在浏览器中访问http://localhost:8000,你将看到 'Hello, World!' 的文本。

这个简单的HTTP服务器可以用于快速搭建本地服务器,用于测试和演示目的。请注意,它不应该在生产环境中使用,因为它没有经过安全性考虑和其他高级功能。