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

使用PythonSocketServer实现简单的HTTP服务器

发布时间:2024-01-07 15:56:34

Python的SocketServer是一个提供服务器功能的标准库,可以用来实现简单的HTTP服务器。下面是一个使用Python SocketServer实现的简单HTTP服务器的例子:

import SocketServer
import SimpleHTTPServer

class MyHTTPRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
    def do_GET(self):
        # 处理GET请求,可以根据需要编写具体的逻辑
        self.send_response(200)
        self.send_header('Content-type', 'text/html')
        self.end_headers()
        self.wfile.write('Hello, World!')
        return

if __name__ == '__main__':
    host = '127.0.0.1'  # 服务器地址
    port = 8000         # 服务器端口

    # 创建HTTP服务器,使用自定义的请求处理器类
    http_server = SocketServer.TCPServer((host, port), MyHTTPRequestHandler)

    print 'Server started on %s:%s' % (host, port)

    # 启动服务器,一直运行
    http_server.serve_forever()

这个例子创建一个简单的HTTP服务器,在访问服务器时会返回Hello, World!。使用浏览器访问http://localhost:8000http://127.0.0.1:8000即可看到输出。

在这个例子中,我们自定义了一个请求处理器类MyHTTPRequestHandler,继承自SimpleHTTPServer.SimpleHTTPRequestHandler,并重写了do_GET方法。在do_GET方法中,我们通过self.send_response发送了HTTP响应,并通过self.wfile.write发送响应内容。

然后,我们创建了一个SocketServer.TCPServer对象,指定了服务器的地址和端口,以及自定义的请求处理器类。最后调用http_server.serve_forever()启动服务器,然后服务器将一直运行,直到手动停止。

这只是一个简单的HTTP服务器示例,你可以根据自己的需求添加更多的处理逻辑,比如处理POST请求、处理参数等等。