我目前正在使用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',)
的問題是,這是不是消息我想要打印。 任何幫助我的問題?