Я думаю, что заголовки CORS
были настроены правильно. Сервер запускается, но при попытке Postman или моего веб-приложения React отправить запрос POST
, сервер не отвечает и не печатает параметры POST
. Если я отменяю запрос POST
от Почтальона, он печатает параметры и детали запроса.
Я потратил несколько часов, пытаясь найти рабочий пример в Python 3 для создания CORS
API-сервера (CORS
, похоже, нужен Google Chrome при тестировании веб-приложения), но мне это не удалось.
from http.server import HTTPServer, SimpleHTTPRequestHandler
import json
class CORSRequestHandler (SimpleHTTPRequestHandler):
def do_OPTIONS(self):
self.send_response(200, "ok")
self.send_header('Access-Control-Allow-Origin',
self.headers['origin'])
self.send_header("Access-Control-Allow-Headers",
"Origin, X-Requested-With, Content-Type, Accept")
self.send_header('Access-Control-Allow-Methods', 'GET, POST, OPTIONS')
self.end_headers()
def do_POST(self):
parameters = json.load(self.rfile)
print(parameters)
body = bytes(json.dumps({'trial': 'blablalbla'}), 'utf-8')
self.send_response(200)
self.send_header("Access-Control-Allow-Origin", "*")
self.send_header("Access-Control-Allow-Headers",
"Origin, X-Requested-With, Content-Type, Accept")
self.send_header('Content-Type', 'application/json'),
self.end_headers()
self.wfile.write(body)
if __name__ == '__main__':
httpd = HTTPServer(('localhost', 9000), CORSRequestHandler)
try:
httpd.serve_forever()
except KeyboardInterrupt:
pass
Я отправляю тело запроса в виде JSON, как из Postman, так и из приложения React. Чего мне не хватает?