我有一个简单的基于BaseHTTPServer的服务器的以下代码。Python - BaseHTTPServer保持活着不起作用
class myHandler(BaseHTTPRequestHandler):
#Handler for the GET requests
def do_GET(self):
# Parse the query_str
query_str = self.path.strip().lower()
if query_str.startswith("/download?"):
query_str = query_str[10:]
opts = urlparse.parse_qs(query_str)
# Send the html message and download file
self.protocol_version = 'HTTP/1.1'
self.send_response(200)
self.send_header("Content-type", 'text/html')
self.send_header("Content-length", 1)
self.end_headers()
self.wfile.write("0")
# Some code to do some processing
# ...
# -----------
self.wfile.write("1")
我期待HTML页面显示“1”,但它显示“0”。我如何通过保持活力来更新响应?
doog的回应看起来我的权利......你也许能够self.wfile.seek(-1),以改变它..小心的性格编码和字符串长度,如果你这样做的话。 – 2014-11-22 22:22:24
嗨。感谢你的回答。我希望页面在处理完成后立即显示1。最初,我希望它显示0.如果我设置内容长度2,它只能在处理完成后才显示01。 – 2014-11-23 18:14:05
我不知道有什么方法可以使用HTTP来做到这一点。有可能你可以用重定向来实现你的目标,但是它需要更复杂的代码。我几乎可以保证你试图解决的实际问题已经用另一种技术解决了,但我不认为有一种方法可以在单个HTTP响应中覆盖数据。 – 2014-11-23 18:46:53