Python Flask 故意空响应

Posted

技术标签:

【中文标题】Python Flask 故意空响应【英文标题】:Python Flask Intentional Empty Response 【发布时间】:2014-08-09 07:58:00 【问题描述】:

有没有办法返回具有某些属性的响应(来自make_response() 对象或类似对象),这样它就不会再次呈现页面,也不会做任何其他事情。我正在尝试在服务器上运行代码而不生成任何输出

一个简单的'return None'会产生:

ValueError: View function did not return a response

这应该是可能的,因为以下仅下载文件而不呈现模板:

myString = "First line of a document"
response = make_response(myString)
response.headers["Content-Disposition"] = "attachment; filename=myFile.txt"
return response

【问题讨论】:

【参考方案1】:

你正在响应一个请求,你的 HTTP 服务器必须返回一些东西。 HTTP“空响应”响应为204 No Content

return ('', 204)

请注意,向浏览器返回文件不是空响应,只是与 html 响应不同。

【讨论】:

Ftr:你可以使用httplib.NO_CONTENT 来避免这个幻数。 请注意,Python 3 中 Python 2 的 httplib.NO_CONTENThttp.HTTPStatus.NO_CONTENT @bfontaine: 或http.client.NO_CONTENT @bfontaine:在http package docs的底部;在引入 HTTPStatus 枚举之前,这些 曾经 是正常位置,请参阅 github.com/python/cpython/commit/…

以上是关于Python Flask 故意空响应的主要内容,如果未能解决你的问题,请参考以下文章

python Flask转储请求和响应示例

python 配置文件Flask的慢响应请求

python Flask转储请求和响应示例

如何在 Python/Flask 中故意导致 400 错误请求?

在 JSON 响应中处理 NULL 值:Python Flask [重复]

Python轻量级Web框架Flask——Flask路由参数/Flask请求与响应/重定项/异常处理