我目前正在使用Python的BaseHTTPServer
,我需要覆盖服务器的handle_timeout()
方法。Python - BaseHTTPServer - 覆盖“handle_timeout”方法
根据Python的文档(https://docs.python.org/2/library/basehttpserver.html),BaseHTTPServer是TCPServer的一个子类。 TCPServer执行我想覆盖的方法handle_timeout
(https://docs.python.org/2/library/socketserver.html#SocketServer.BaseServer.handle_timeout)。
我的代码目前看起来是这样的:
class newServer(BaseHTTPServer.HTTPServer):
def handle_timeout(self):
print "Timeout!"
class RequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
def setup(self):
self.timeout=2
BaseHTTPServer.BaseHTTPRequestHandler.setup(self)
if __name__ == '__main__':
server=newServer
httpd = server((HOST_NAME, PORT_NUMBER), RequestHandler)
print time.asctime(), "Server Starts - %s:%s" % (HOST_NAME, PORT_NUMBER)
try:
httpd.serve_forever()
except KeyboardInterrupt:
pass
httpd.server_close()
print time.asctime(), "Server Stops - %s:%s" % (HOST_NAME, PORT_NUMBER)
自身工作超时,我收到以下消息来自服务器:
Request timed out: timeout('timed out',)
的问题是,这是不是消息我想要打印。 任何帮助我的问题?