问题
I use Python's BaseHTTPServer and implement the following very simple BaseHTTPRequestHandler:
class WorkerHandler(BaseHTTPRequestHandler):
def do_GET(self):
self.wfile.write('{"status" : "ready"}')
self.send_response(200)
When I run a GET query from the web browser, by simply going to localhost:port
, I get the following response:
{"status" : "ready"}HTTP/1.0 200 OK
Server: BaseHTTP/0.3 Python/2.7.12
Date: Mon, 09 Jan 2017 12:45:13 GMT
I only want the JSON. How can I make the server not sending this junky data?
HTTP/1.0 200 OK
Server: BaseHTTP/0.3 Python/2.7.12
Date: Mon, 09 Jan 2017 12:45:13 GMT
回答1:
Finally succeeded fixing it myself. Sharing with you:
class WorkerHandler(BaseHTTPRequestHandler):
def do_GET(self):
self.send_response(200)
self.end_headers()
self.wfile.write('{"status" : "ready"}')
Swapped the send_response
and wfile.write
. Also added end_headers
after send_response
来源:https://stackoverflow.com/questions/41548527/pythons-basehttpserver-returns-junky-responses