【发布时间】:2018-11-28 16:11:06
【问题描述】:
我有一个带有一个端点的简单烧瓶应用程序
@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 请求结束接收正确的响应 äöü。
但是,当我尝试像这样使用 curl 发送 POST 请求时:
curl http://localhost -F "a=öäü"
我得到了神秘的回应:
´┐¢´┐¢´┐¢
我也试过How do I POST form data with UTF-8 encoding by using curl?的解决方案
curl -v -X POST -H "Content-Type: application/x-www-form-urlencoded; charset=utf-8" --data-ascii "a=äöü" http://localhost
但我仍然得到相同的结果。我在 Windows 7 上使用 curl,代码页为 850
对于如何调试此行为的任何帮助,我们深表感谢
【问题讨论】:
标签: python python-3.x curl flask character-encoding