我正在尝试设置标头'Authorization': 'Bearer foo'
。但是,在PyCharm的调试器中调试应用程序时,我无法在request
中找到表明已设置标头的任何内容。当我使用Postman发送请求时,标题会显示出来。如何在Flask的测试客户端中正确发送标题?
headers = {'Authorization': 'Bearer foo'}
test_response = self.app.post('/api_endpoint', headers=headers, data=dict(foo=bar))
答案 0 :(得分:2)
我无法重现您的问题。我创建了一个简单的测试,标题设置正确。
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'
。在PyCharm的调试窗口中运行,request.headers['Authorization']
也正确设置。
Connected to pydev debugger (build 141.1899)
>>> request.headers['Authorization']
Out[1]: 'Bearer foo'