我的问题...
我们有一个本地网络。
我在具有Ubuntu Server(12.04.2)的虚拟机上运行python basehttpserver。
当我在浏览器链接192.168.101.3:8081/index.html中打开时,获取请求已处理10秒,为什么?
示例basehttpserver
class ReqHandler( BaseHTTPServer.BaseHTTPRequestHandler):
def __init__(self, request, client_address, server):
BaseHTTPServer.BaseHTTPRequestHandler.__init__( self, request, client_address, server )
def do_GET(self ):
self.performReq(self.path.decode('utf-8'))
def performReq (self, req ):
curDir = os.getcwd()
""" Performing http request """
if req == '/' :
self.path = '/index.html'
fname = curDir + '/' + self.path[1:]
fname = unquote(fname).decode('utf8')
try:
self.send_response(200,"Ok!")
self.send_header('Content', 'text/xml; charset=UTF-8' )
self.end_headers()
f = open(fname, 'rb')
self.wfile.write(f.read())
f.close()
print 'file '+fname+" Ok"
except IOError:
print 'no file '+fname
self.send_error(404)
def run(server_class=BaseHTTPServer.HTTPServer):
server_address = ('', 8081)
server = server_class(server_address, ReqHandler)
print('server ok!')
server.serve_forever()
服务器截图
具有ubuntu服务器192.168.101.3的IP机
对不起我的英语不好。
我的解决方案-我在ReqHandler中添加了以下方法
def log_message(self,fmt, *args):
print fmt%args
最佳答案
如果在未连接Internet的本地网络上测试Web应用程序,则可能会遇到这些延迟。这是因为默认情况下,BaseHTTPServer在客户端IP上执行查找(出于记录目的)。检查此hack:http://bugs.python.org/issue6085