gpt4 book ai didi

python - 有 SimpleHTTPServer 的 Tornado 等效项吗?

转载 作者:行者123 更新时间:2023-12-01 06:02:11 24 4
gpt4 key购买 nike

浏览 demos , TornadoGistsother gist snippets (基于 this previous question ),我还没有在Python的标准库中找到任何与 SimpleHTTPServer 等效的代码。我正在寻找一个非常小的 Web 服务器,它可以处理并发请求,并具有 SimpleHTTPServer 包含的所有样板文件,用于从启动目录提供文件。

最佳答案

更新:从 Tornado 3 开始,使用内置 StaticFileHandler .

Tornado 并不是真正为提供静态文件而设计的。如果这会看到任何负载,您应该使用 nginx 或类似的东西。如果不会,使用 SimpleHTTPServer 可能会更容易。

也就是说,编写一个很简单:

import os.path
import mimetypes

import tornado.httpserver
import tornado.ioloop
import tornado.options
import tornado.web

class FileHandler(tornado.web.RequestHandler):
def get(self, path):
if not path:
path = 'index.html'

if not os.path.exists(path):
raise tornado.web.HTTPError(404)

mime_type = mimetypes.guess_type(path)
self.set_header("Content-Type", mime_type[0] or 'text/plain')

outfile = open(path)
for line in outfile:
self.write(line)
self.finish()

def main():
tornado.options.enable_pretty_logging()
application = tornado.web.Application([
(r"/(.*)", FileHandler),
])
http_server = tornado.httpserver.HTTPServer(application)
http_server.listen(8888)
tornado.ioloop.IOLoop.instance().start()

if __name__ == "__main__":
main()

这只是为了让您开始;如果您要使用它,您应该确保您无法访问文件系统并访问任何文件。另外,该脚本目前可以自行服务,这有点奇怪。

关于python - 有 SimpleHTTPServer 的 Tornado 等效项吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9792658/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com