从 Flask 响应中删除 Headers

Remove Headers from Flask Response

我正在尝试为 Alexa 技能开发 Web 服务 back-end,这需要我在 HTTP 响应中具有非常具体的 headers。

查看我的响应的详细信息(使用 hurl.it),我有一大堆亚马逊不想要的 HTTP headers。如何删除 'X-Clacks-Overhead'、'Server' 等响应。

我正在使用 Flask 和 Python 3.

你不能,但我严重怀疑是否有人会编写在请求中有额外 headers 字段时会崩溃的代码。也许您误解了错误。

如果您的 header 实际上是由 Flask 设置的,您可以使用 Flask 的 after_request function/decorator 从响应的 headers 字典中删除它:

@app.after_request
def remove_header(response):
    del response.headers['X-Some-Custom-Header']

    return response

对于 Server 之类的,这很可能是由上游提供商设置的,而不是直接由 Flask 设置的,因此您需要将其从代理来自 Flask 的请求并输出到用户。