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

在Python中使用BaseHTTPServer.HTTPServer模块创建一个简单的网站

发布时间:2024-01-15 19:31:30

在Python中,可以使用BaseHTTPServer.HTTPServer模块创建一个简单的网站。BaseHTTPServer是Python内置的HTTP服务器模块,它提供了一个基本的HTTP请求和响应的处理机制。下面是一个使用BaseHTTPServer.HTTPServer创建简单网站的示例代码:

import BaseHTTPServer

class MyHandler(BaseHTTPServer.BaseHTTPRequestHandler):
    def do_GET(self):
        if self.path == '/':
            self.send_response(200)
            self.send_header('Content-type', 'text/html')
            self.end_headers()
            self.wfile.write('Hello, World!')
            return

        self.send_response(404)
        self.send_header('Content-type', 'text/html')
        self.end_headers()
        self.wfile.write('Page not found')

if __name__ == '__main__':
    server_address = ('', 8000)
    httpd = BaseHTTPServer.HTTPServer(server_address, MyHandler)
    print 'Starting server on port 8000...'
    httpd.serve_forever()

在这个例子中,我们自定义了一个MyHandler类,继承自BaseHTTPServer.BaseHTTPRequestHandler。在这个类中,我们覆盖了do_GET方法,用于处理GET请求。当访问网站根目录'/'时,会返回'Hello, World!',否则返回'Page not found'。

在主函数中,我们创建了一个HTTPServer对象,绑定到本地的8000端口,并指定了自定义的处理类MyHandler。然后使用serve_forever方法启动服务器,开始监听来自客户端的请求。

要运行这个网站,只需在命令行中运行该脚本即可。然后你可以在浏览器中通过访问http://localhost:8000/来查看结果。正常情况下,你应该能够看到'Hello, World!'。

这只是一个非常简单的示例,BaseHTTPServer模块还有很多其他的功能和特性,如处理POST请求、上传文件等。如果你需要更复杂的网站或功能,建议使用更强大的框架,如Flask或Django。