2017-01-09 11 views
-1

ジャンキー応答を返します:私は単にlocalhost:portに行くことによって、WebブラウザからのGETクエリを実行するとPythonのBaseHTTPServerは、私はPythonのBaseHTTPServerを使用して、次の非常にシンプルなBaseHTTPRequestHandlerでは実装

class WorkerHandler(BaseHTTPRequestHandler): 

    def do_GET(self): 
     self.wfile.write('{"status" : "ready"}') 
     self.send_response(200) 

を、私は次の応答を取得します:

{"status" : "ready"}HTTP/1.0 200 OK 
Server: BaseHTTP/0.3 Python/2.7.12 
Date: Mon, 09 Jan 2017 12:45:13 GMT 

私はJSONだけが必要です。どのようにしてサーバーがこの迷惑なデータを送信しないようにすることができますか?

HTTP/1.0 200 OK 
Server: BaseHTTP/0.3 Python/2.7.12 
Date: Mon, 09 Jan 2017 12:45:13 GMT 
+1

の後にend_headersが追加されました。1.ほとんどのアプリケーションでは、 'BaseHTTPServer'は避けてください。あなたが 'BaseHTTPServer'に固執する非常に明確で魅力的な理由がない限り、DjangoやFlaskのようなWebフレームワークの上に、NginxやIISのような実際のHTTPサーバを使うことを検討してください。 2.「不気味なデータ」ではありません。これはHTTPレスポンスの一部です。それはちょうど順不同です(あなたの答えに基づいて、あなたは間違った順序で物事を呼び出すため、順序が間違っています)。 – jpmc26

答えて

0

最後に、自分で修正することに成功しました。あなたと共有:

class WorkerHandler(BaseHTTPRequestHandler): 

    def do_GET(self): 
     self.send_response(200) 
     self.end_headers() 
     self.wfile.write('{"status" : "ready"}') 

send_responsewfile.writeスワップ。また、send_response

関連する問題