SimpleHTTPServer,检测文件传输何时完成



我正在使用SimpleHTTPServer制作简单的文件共享实用程序。我希望能够捕捉到当一个http传输完成,即当客户端文件下载完成。我想在这一点上执行一些动作。这可能吗?

您可以在SimpleHTTPServer模块中重写请求处理程序。我在

下面放了一个代码片段
from __future__ import print_function
import os
import SimpleHTTPServer
import SocketServer

class MySimpleHTTPRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
    def do_GET(self):
        """Serve a GET request."""
        f = self.send_head()
        if f:
            try:
                self.copyfile(f, self.wfile)
            finally:
                if(os.path.isfile(self.translate_path(self.path))):
                    print("Log this download:", self.translate_path(self.path))
                f.close()
PORT = 8000
Handler = MySimpleHTTPRequestHandler
httpd = SocketServer.TCPServer(("", PORT), Handler)
print("serving at port", PORT)
httpd.serve_forever()

相关内容

  • 没有找到相关文章

最新更新