如何使python服务器以deafult而不是目录的形式打开html文件?

2024-06-14 22:43:35 发布

您现在位置:Python中文网/ 问答频道 /正文

下面是一个简单服务器的示例:

import http.server
import socketserver

PORT = 80

Handler = http.server.SimpleHTTPRequestHandler

with socketserver.TCPServer(("", PORT), Handler) as httpd:
    print("serving at port", PORT)
    httpd.serve_forever()

服务器本身工作,端口是打开的,但是它打开了代码所在的目录,而我需要它打开该目录中的html文件。你知道吗

如何让它打开我想要的html文件而不是目录?你知道吗


Tags: 文件import服务器目录http示例serverport
1条回答
网友
1楼 · 发布于 2024-06-14 22:43:35

如果请求/,可以扩展SimpleHTTPServer.SimpleHTTPRequestHandler并重写do_GET方法,将self.path替换为your_file.html。你知道吗

import SimpleHTTPServer
import SocketServer

class MyRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
    def do_GET(self):
        if self.path == '/':
            self.path = '/your_file.html'
        return SimpleHTTPServer.SimpleHTTPRequestHandler.do_GET(self)

Handler = MyRequestHandler
server = SocketServer.TCPServer(('0.0.0.0', 8080), Handler)

server.serve_forever()

更多:Documentation

相关问题 更多 >