2017-01-09 13 views
-1

마약 밀매 자 응답 반환 단순히 localhost:port로 이동하여 웹 브라우저에서 GET 쿼리를 실행할 때파이썬의 BaseHTTPServer 내가 파이썬의 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와 같은 웹 프레임 워크 위에 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