Flask headers 未发送

Flask headers not sending

我有一个应用程序,我试图发送一个 post 请求并添加 header。

resp=make_response(redirect(returnFilter(request.args,forms)))
resp.headers.add('foo','foo')
return resp

returnFilter 函数是一个自定义函数,用于为重定向创建 link,并且工作正常。我在 return resp 处添加了一个断点,以确保它在我注意到问题后添加了 header 并且确实如此。

我收到了它要发送的请求,它确认它实际上没有添加 header 但我不知道为什么。

您正在将 foo: foo header 添加到响应 headers,但看起来您的屏幕截图来自请求 headers,您是否看过正确 headers?

我写的一些示例代码来测试 headers.add(...) 方法:

from flask import Flask, redirect, url_for, make_response

app = Flask(__name__)

@app.get('/')
def index():
    return 'Hello'

@app.get('/header-test')
def header_test():
    response = make_response(redirect(url_for('index')))
    response.headers.add('foo', 'foo')
    return response

app.run()

请求headers:

GET /header-test HTTP/1.1
Host: 127.0.0.1:5000
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: fi-FI,fi;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1

响应 header秒:

HTTP/1.1 302 FOUND
Server: Werkzeug/2.1.1 Python/3.10.4
Date: Mon, 02 May 2022 00:53:07 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 208
Location: /
foo: foo

如您所见,foo: foo 的响应 header 就像它应该的那样。