Отправка сериализованных данных по запросу POST - PullRequest
0 голосов
/ 18 октября 2018

Во-первых, я не очень привык к HTTP-запросу, поэтому терпите меня, если я сделаю несколько глупых ошибок или предположений, которые совершенно неверны.

Я пытаюсь отправить изображение с помощью POSTзапрос с использованием Flask, код, который я использую, можно найти по этой ссылке: https://gist.github.com/kylehounslow/767fb72fde2ebdd010a0bf4242371594

В основном он кодирует изображение с помощью cv2, а затем отправляет его в запросе POST, я мог бызаставить это работать, но я хотел послать больше информации, поэтому я переписал запрос следующим образом:

payload = {'img':img_encoded.tostring(), 'name':'foo'}
response = requests.post(test_url, data=json.dumps(payload), headers=headers)

, это дает мне ошибку, более конкретно:

TypeError: Object of type 'bytes' is not JSON serializable

Это связано ск тому факту, что я кодирую изображение, поэтому я попытался просто отправить словарь, не выгружая его в JSON, запрос проходит, но теперь я не знаю, как декодировать поле данных в запросе.Если я пытаюсь получить доступ к request.data, я получаю это:

b'img=very_long_first_field_of_binary_info&name=foo'

Как мне вернуть это в словарь?Поскольку я не могу использовать JSON, я не знаю, что делать.Заранее благодарим за помощь,

Маттиа

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...