ubuntus上basehttpserver的get请求延迟

2024-06-16 14:26:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我的问题。。。在

  1. 我们有一个本地网络。在
  2. 我使用Ubuntu服务器(12.04.2)在虚拟机上运行基于python的httpserver。在

当我在浏览器中打开链接192.168.101.3:8081时/索引.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()

服务器截图 log server

IP机器和ubuntu服务器192.168.101.3

对不起我的英语。在

我的解决方案-我在ReqHandler中添加了以下方法

^{pr2}$

Tags: pathself服务器sendserveraddressrequestdef