모듈이있는 Python3의 간단한 서버를 고려하십시오 BaseHTTPRequestHandler
.
import json
import urllib.parse
from http.server import BaseHTTPRequestHandler, HTTPServer
import bson.json_util
class GetHandler(BaseHTTPRequestHandler):
def do_GET(self):
print("/n=================================")
json_string = '{"hello":"world"}'
self.wfile.write(json_string.encode())
self.send_response(200)
self.end_headers()
return
if __name__ == '__main__':
#from BaseHTTPServer import HTTPServer
server = HTTPServer(('localhost', 3030), GetHandler)
print ('Starting server, use <Ctrl-C> to stop')
server.serve_forever()
이것은 curl
터미널에서 올바르게 응답합니다 .
curl -i http://localhost:3030/
그러나 Postman에서 요청을 보내려고 할 때 응답하지 않습니다. 나는 URL을 시도 localhost:3030/
, http://localhost:3030/
루프백 주소도합니다.
왜 그런 겁니까?
모든 예에서 콘텐츠 유형을 지정하지 않았기 때문에 동일한 방식으로 curl
수행했으며 작동하는 것을 보았을 때 너무 걱정하지 않았습니다.
그러나 컨텐츠 유형을 지정해야합니다. self.wfile.write(...)
문제 를 해결 하기 전에 다음 행을 추가 하십시오.
self.send_response(200)
self.send_header('Content-type', 'application/json')
self.end_headers()
실제로 self.send_response(200)
추가 된 것이 아니라 이동 된 것입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다