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

Python中BaseHTTPServer.HTTPServer__init__()方法的用法详解

发布时间:2023-12-23 01:48:47

BaseHTTPServer.HTTPServer类是一个基于套接字的并发Web服务器。它是Python标准库中的一个模块,用于创建一个简单的HTTP服务器。

HTTPServer的__init__方法用于初始化一个HTTP服务器对象,其基本语法如下:

__init__(server_address, RequestHandlerClass)

参数说明:

- server_address: 服务器的主机地址和端口号,通常是一个元组(host, port)。

- RequestHandlerClass: 处理请求的类,默认为BaseHTTPServer.BaseHTTPRequestHandler。

下面是一个使用例子:

import BaseHTTPServer

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

if __name__ == '__main__':
    server_address = ('', 8000)
    httpd = BaseHTTPServer.HTTPServer(server_address, MyHandler)
    httpd.serve_forever()

在上面的例子中,我们创建了一个自定义的请求处理类MyHandler,并实现了do_GET方法来处理GET请求。当收到GET请求时,服务器会向客户端返回一个“Hello, World!”的响应。

然后,我们创建了一个HTTPServer对象,并将服务器地址和自定义的请求处理类传入__init__方法。最后,调用serve_forever方法启动服务器并一直运行。

通过以上例子,我们可以看到HTTPServer中的__init__方法的基本用法。它用于初始化一个HTTP服务器对象,并指定服务地址和请求处理类。