Как получить полезную нагрузку сырого запроса во Flask / Connexion? - PullRequest
0 голосов
/ 13 июля 2020

Мне нужно получить тело запроса POST с Content-Type: application/x-www-form-urlencoded в обработчике API Connexion . В принятом ответе здесь предлагается использовать request.get_data(), однако для меня это всегда возвращает только b''. Я предполагаю, что Connexion анализирует данные до вызова request.get_data(), и это вызывает проблему.

Как мне получить полезные данные необработанного запроса в этом случае? Если нет возможности получить его напрямую, как мне правильно восстановить его из request.form (который, кажется, содержит проанализированные данные)?

1 Ответ

0 голосов
/ 14 июля 2020

Я не уверен, есть ли более простой способ, но, похоже, это помогает:

import urllib.parse

form_data = request.form
request_data = '&'.join([k + '=' + urllib.parse.quote_plus(v) for k, v in form_data.items()])
...