使用Python的from_httplib()函数构建简单的HTTP服务器
from http.server import HTTPServer, BaseHTTPRequestHandler
class SimpleHTTPRequestHandler(BaseHTTPRequestHandler):
def do_GET(self):
self.send_response(200)
self.send_header('Content-type', 'text/html')
self.end_headers()
self.wfile.write(b"Hello, world!")
def run(server_class=HTTPServer, handler_class=SimpleHTTPRequestHandler, port=8000):
server_address = ('', port)
httpd = server_class(server_address, handler_class)
print(f"Server running on port {port}")
httpd.serve_forever()
run()
使用Python的from http.server import HTTPServer, BaseHTTPRequestHandler 导入相关模块。
下面我们定义了一个SimpleHTTPRequestHandler类,继承自BaseHTTPRequestHandler类。在do_GET方法中,我们构造了一个简单的HTTP响应,设置状态码为200,设置Content-Type为text/html,并返回一个Hello, world!的字符串。
接下来,我们定义了一个run函数,用于启动HTTP服务器。默认使用HTTPServer和SimpleHTTPRequestHandler,默认端口为8000。我们通过调用server_class的构造函数创建一个实例,并且将server_address和handler_class作为参数传递进去。然后,我们通过serve_forever方法启动HTTP服务器,并且让HTTP服务器一直运行。
最后,我们调用run函数启动HTTP服务器,这将使得服务器在本地的8000端口上运行。
你可以在浏览器中访问http://localhost:8000,就可以看到服务器返回的Hello, world!了。
这是一个简单的例子,你可以根据自己的需求来定制SimpleHTTPRequestHandler类的do_GET方法,以实现更复杂的功能。
