Как отправить статус 200, отвечающий на HTTPS POST в python
Я использую Flask для создания приложения, которое получает некоторые данные с сервера с HTTPS POST и обрабатывает его данные. Как только я получаю сообщение от сервера, мне нужно отправить "status = 200", чтобы сервер знал, что я получил информацию, и прекратил повторную отправку мне информации.
Должен ли я отправить HTTPS GET? На самом деле это не получение, единственное, что мне нужно, это уведомить сервер, который получил сообщение...
Как я могу сделать это в Python? Мне нужно сделать это после обработки данных, которые я получаю, но без возврата.
app = Flask(__name__)
@app.route('/webhook', methods=['POST','GET'])``
def webhook():
req = request.form
xml = req['data']
#HOW DO I SEND A CODE 200 NOW???
info = ET.fromstring(xml)
print info[0].text
print info[1].text
print info[2].text
print info[3].text
Спасибо!
1 ответ
Если вы хотите быть уверенным в коде ответа, вы можете отправить пустой ответ и указать только код ответа, например
return '', 200
Полный ответ можно найти в HTTP-код возврата HTTP 201 в колбе
ОБНОВЛЕНИЕ ОБНОВЛЕННОГО ВОПРОСА:
Вы могли бы использовать Thread
для этого.
import threading
app = Flask(__name__)
@app.route('/webhook', methods=['POST','GET'])``
def worker(xml):
info = ET.fromstring(xml)
print info[0].text
print info[1].text
print info[2].text
print info[3].text
return
def webhook():
req = request.form
xml = req['data']
# This executes in background
t = threading.Thread(target=worker, args=(xml,))
t.start()
# So that you can return before worker is done
return '', 200