【发布时间】:2021-01-09 23:15:43
【问题描述】:
嘿,我正在使用 Python 开发 Basic 服务器,现在我正在测试如何返回 JSON 数据,但现在我无法返回该 JSON 数据。
这就是我尝试将 JSON 发送回客户端的方式:
response= {
"name":'junior',
"name":'junior'
}
self.send_response(200)
self.wfile.write(bytes(json.dumps(response, ensure_ascii=False), 'utf-8'))
self.send_header('Content-type', 'application/json')
self.end_headers()
以下是完整的源代码:
import ast
import json
from http.server import HTTPServer, BaseHTTPRequestHandler
from http import HTTPStatus
class ServiceHandler(BaseHTTPRequestHandler):
def do_GET(self):
print(self.path)
def do_POST(self):
content_len = int(self.headers.get('Content-Length'))
post_body = self.rfile.read(content_len)
body = ast.literal_eval(post_body.decode("utf-8"))
response= {
"name":'junior',
"name":'junior'
}
self.send_response(200)
self.wfile.write(bytes(json.dumps(response, ensure_ascii=False), 'utf-8'))
self.send_header('Content-type', 'application/json')
self.end_headers()
#Server Initialization
server = HTTPServer(('127.0.0.1',8080), ServiceHandler)
server.serve_forever()
我能否就如何返回 JSON 数据获得一些帮助
【问题讨论】:
-
当前行为和预期行为是什么?
-
当前行为不是响应消息正在发送回客户端,预期行为是我将 json 对象发送回客户端
-
好的,所以我不太确定 stdlib http 服务器是如何工作的,但我很确定应该在发送标头后发送正文
-
哦,是的,我的错,没有发现,但是问题仍然存在,没有 json 被返回