Колба неправильно кодирует форму - PullRequest
0 голосов
/ 28 ноября 2018

У меня есть простое приложение фляги с одной конечной точкой

@app.route('/', methods=['GET', 'POST'])
def index():
  if request.method == 'GET':
    return render_template('form.html')
  return request.form['a']

form.html выглядит так:

<!DOCTYPE html>
<form method="POST">
  <input type="text" name="a" value="öäü"><br>
  <input type="submit" value="submit">
</form>

когда я открываю форму в Firefox, я могу ввести такие значения, какäöü отправка POST-запроса и конец получения правильного ответа äöü.

Однако, когда я просто пытаюсь отправить POST-запрос, используя curl, вот так:

curl http://localhost -F "a=öäü"

Iполучить загадочный ответ:

´┐¢´┐¢´┐¢

Я также попробовал решение из Как я могу POST сформировать данные с кодировкой UTF-8 с помощью curl?

curl -v -X POST -H "Content-Type: application/x-www-form-urlencoded; charset=utf-8" --data-ascii "a=äöü" http://localhost

но я все еще получаю тот же результат.Я использую curl в Windows 7 с кодовой страницей 850

Любая помощь, как даже отладить это поведение, высоко ценится

Ответы [ 2 ]

0 голосов
/ 29 ноября 2018

Я не Windows PC, это не подтверждает, вы можете попробовать curl -X POST -H "Content-Type: application/x-www-form-urlencoded; charset=utf-8" --data-urlencode "a=öäü" http://localhost

0 голосов
/ 28 ноября 2018

Вы можете urlencode данных:

curl http://localhost -F "a%3D%C3%B6%C3%A4%C3%BC"

Чтобы сделать это автоматически curl имеет флаг --data-urlencode.

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