【问题标题】:Flask failing with apostrophes烧瓶因撇号而失败
【发布时间】:2019-01-06 13:04:30
【问题描述】:

如果在 newName 标头值中使用 ',则一切正常,但是,如果使用 ,例如,服务器将无法处理请求。

我正在调试一些更大的代码,但创建了一个极简版本,它会遇到同样的问题。

from flask import Flask, request
app = Flask(__name__)

@app.route('/dave', methods=['POST'])
def hello():
    newName=request.headers['newName']
    return newName

if __name__ == '__main__':
    app.run(host= '0.0.0.0', debug=True)
    app.debug = True

我正在使用 Postman 进行调试。如果我发送“David's”,一切都会按预期工作,但是,如果我发送“David's”,它会失败,并且错误日志中似乎没有显示任何内容(尽管我可能错过了一个技巧)。

【问题讨论】:

  • 可以理解,HTTP头不能包含'。
  • 为什么还要在标头中发送数据?内容应该在 POST 的正文中。

标签: python python-2.7 flask request


【解决方案1】:

正如 cmets 中指出的那样,我忽略了标题不应包含 '.因此,数据应该在 POST 正文中发送,而不是在标头中发送。

示例:How to get data received in Flask request

显然,单引号可能是 Python 和 JSON 的问题。这似乎解决了这个问题https://stackoverflow.com/a/36599122/5152133

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-08
    • 1970-01-01
    • 1970-01-01
    • 2014-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-04
    相关资源
    最近更新 更多