Flask-сервер не может читать кириллические запросы - PullRequest
0 голосов
/ 15 марта 2019

Вот моя простая конечная точка:

@app.route('/test', methods=['POST'])
def test():
    print(request.data)
    return Response("", mimetype='application/json')

Тело запроса:

"тест"

И сервер печатает b'"\xd1\x82\xd0\xb5\xd1\x81\xd1\x82"' для данных запроса.

Какустановить соответствующую кодировку, предоставив тип содержимого заголовок ничего не сделал?

Также есть ли способ избавиться от этой надоедливой b в начале каждого тела запроса?

1 Ответ

0 голосов
/ 15 марта 2019

Для тех, у кого возникла подобная проблема:

from flask import Flask
from flask import Response
from flask import reques
import chardet

@app.route('/test', methods=['POST'])
def test():
    charset = chardet.detect(request.data)['encoding']
    print(request.data.decode(charset))
    return Response("", mimetype='application/json')

Я не смог сделать фляжку для меня ... поэтому вы должны вручную декодировать байты.

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