在测试客户端上设置 header 似乎不起作用
Setting header on test client doesn't seem to work
我正在尝试设置 header 'Authorization': 'Bearer foo'
。但是,在 PyCharm 的调试器中调试应用程序时,我在 request
中找不到任何显示 header 已设置的内容。当我使用 Postman 发送请求时, header 确实出现了。如何在 Flask 的测试客户端中正确发送 headers?
headers = {'Authorization': 'Bearer foo'}
test_response = self.app.post('/api_endpoint', headers=headers, data=dict(foo=bar))
我无法重现您的问题。我创建了一个简单的测试,header 设置正确。
from flask import Flask, request
app = Flask(__name__)
@app.route('/', methods=['POST'])
def index():
return request.headers['Authorization']
with app.test_client() as c:
r = c.post('/', headers={'Authorization': 'Bearer foo'}, data={'foo': 'bar'})
print(r.data)
运行这样,输出为b'Bearer foo'
。 运行ning 在 PyCharm 的调试 window 中,request.headers['Authorization']
也正确设置。
Connected to pydev debugger (build 141.1899)
>>> request.headers['Authorization']
Out[1]: 'Bearer foo'
我正在尝试设置 header 'Authorization': 'Bearer foo'
。但是,在 PyCharm 的调试器中调试应用程序时,我在 request
中找不到任何显示 header 已设置的内容。当我使用 Postman 发送请求时, header 确实出现了。如何在 Flask 的测试客户端中正确发送 headers?
headers = {'Authorization': 'Bearer foo'}
test_response = self.app.post('/api_endpoint', headers=headers, data=dict(foo=bar))
我无法重现您的问题。我创建了一个简单的测试,header 设置正确。
from flask import Flask, request
app = Flask(__name__)
@app.route('/', methods=['POST'])
def index():
return request.headers['Authorization']
with app.test_client() as c:
r = c.post('/', headers={'Authorization': 'Bearer foo'}, data={'foo': 'bar'})
print(r.data)
运行这样,输出为b'Bearer foo'
。 运行ning 在 PyCharm 的调试 window 中,request.headers['Authorization']
也正确设置。
Connected to pydev debugger (build 141.1899)
>>> request.headers['Authorization']
Out[1]: 'Bearer foo'