This question already has answers here:
How to get http headers in flask?

(4 个回答)


5年前关闭。




我想读取到我的服务器的传入请求的 header 以跟踪其位置和其他属性。

例如:
如果有人单击 URL,我将如何读取传入请求的 header ?

最佳答案

您可以使用 flask.request.headers 。它是一个 werkzeug.datastructures.EnvironHeaders 对象,但您可以将其用作普通 dict。

例如:

from flask import Flask, request

app = Flask(__name__)

@app.route('/')
def main():
    print(request.headers)
    print(request.headers['User-Agent'])

if __name__ == '__main__':
    app.run()

输出看起来像:
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Host: 127.0.0.1:5000
Content-Type:
Dnt: 1
Content-Length:
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.6,en;q=0.4
Accept-Encoding: gzip, deflate, sdch
Cache-Control: max-age=0
Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36


Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36

10-07 20:12