使用 SimpleHTTPServer 禁用索引文件

dai*_*isy 4 python http directoryindex server

默认情况下,SimpleHTTPServerindex.html用作索引文件,我想禁用它们并始终显示目录索引。

我怎样才能做到这一点?这里文件没有说明

小智 5

简单的方法:

将索引文件重命名为其他任何名称

一种更复杂的方法:

您必须使用以下内容覆盖SimpleHTTPRequestHandlertranslate_path方法:

import BaseHTTPServer
import SimpleHTTPServer
server_address = ("", 8888)
PUBLIC_RESOURCE_PREFIX = '/public'
PUBLIC_DIRECTORY = '/path/to/protected/public'

class MyRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
    def translate_path(self, path):
        if self.path.startswith(PUBLIC_RESOURCE_PREFIX):
            if self.path == PUBLIC_RESOURCE_PREFIX or self.path == PUBLIC_RESOURCE_PREFIX + '/':
                return PUBLIC_DIRECTORY + path[len(PUBLIC_RESOURCE_PREFIX):]
        else:
            return SimpleHTTPServer.SimpleHTTPRequestHandler.translate_path(self, path)

httpd = BaseHTTPServer.HTTPServer(server_address, MyRequestHandler)
httpd.serve_forever()
Run Code Online (Sandbox Code Playgroud)