flask
中通过response
对象的headers
属性来控制header
信息。
1.控制mimetype
from flask import Flask,make_response
app = Flask(__name__)
@app.route('/')
def register():
rsp = make_response("test")
rsp.headers['Content-Type']= 'text/xxx'
return rsp
if __name__ == "__main__":
app.run(host="0.0.0.0",port=5000,debug=True)
2.控制charset
from flask import Flask,make_response
app = Flask(__name__)
@app.route('/')
def register():
rsp = make_response("test")
rsp.headers['Content-Type']= 'text/xxx; charset=utf-8'
return rsp
if __name__ == "__main__":
app.run(host="0.0.0.0",port=5000,debug=True)
3.通过Response
的mimetype
属性快捷控制Content-Type
。
需要注意的是mimetype
属性不能控制charset
,一般charset
会使用默认值
from flask import Flask,make_response
app = Flask(__name__)
@app.route('/')
def register():
rsp = make_response("xxx")
rsp.mimetype="text/xxx" # 等价于rsp.headers['Content-Type']= 'text/xxx; charset=utf-8'
return rsp
if __name__ == "__main__":
app.run(host="0.0.0.0",port=5000,debug=True)
参考:
https://flask.palletsprojects.com/en/1.1.x/api/#response-objects
https://flask.palletsprojects.com/en/1.1.x/api/#flask.Flask.make_response
https://werkzeug.palletsprojects.com/en/1.0.x/datastructures/#werkzeug.datastructures.Headers