1
我的問題上......延遲的GET請求basehttpserver Ubuntu的服務器
- 我們有一個本地網絡。
- 我使用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()
從服務器
IP機Ubuntu服務器192.168.101.3
對不起,我的英語截圖。
我的解決方案 - 我在ReqHandler
添加了以下方法def log_message(self,fmt, *args):
print fmt%args
配置文件您的代碼與神話般的python「個人資料」庫,這將告訴你什麼和爲什麼:http://docs.python.org/2/library/profile.html –
我有相同的與OSX上的basehttp服務器問題。我正在做一個簡單的GET請求來從mongodb中檢索單個文檔。請求每次延遲約10-20秒。在此期間,Chrome控制檯顯示狀態「正在等待」。任何其他請求,例如POST或PUT,都以毫秒爲單位完成。此外,GET請求到外部網站正常工作,所以我絕對不認爲客戶端是問題。請分享,如果你找到一個解決方案,我會做同樣的。 –