Сервер возвращает ошибку "405 Method Not Allowed'
Я запустил сервер на Flask. Но при запуске он возвращает ошибку в браузере ERR_CONNECTION_REFUSED. Код server.py:
import time
from datetime import datetime
from flask import Flask, Response, request
app = Flask(__name__)
db = []
@app.route("/send_message", methods=['POST'])
def send_message():
data = request.json
if not isinstance(data, dict):
return Response('not json', 400)
text = data.get('text')
author = data.get('author')
if isinstance(text, str) and isinstance(author, str):
db.append({
'text': text,
'author': author,
'time': time.time()
})
return Response('ok')
else:
return Response('wrong format', 400)
if __name__ == "__main__":
try:
app.run(host="127.0.0.1", port="5000", debug=False)
except KeyboardInterrupt:
exit(0)
В чем проблема и как ее исправить?
Ответы (1 шт):
Автор решения: insolor
→ Ссылка
У вас для пути /send_message разрешен только метод POST. Ошибка означает, что вы обращаетесь не методом POST, а каким-то другим. Когда вы открываете ссылку в браузере, по ссылке отправляется запрос GET. Нужно или реализовать реакцию на метод GET, или не пытаться открывать эту ссылку в браузере. Если вам нужно протестировать сервис, используйте Postman, например, и через него отправляйте POST запрос.