如何在 Flask 中捕获和读取传入 HTTP 请求的标头? [复制]
Posted
技术标签:
【中文标题】如何在 Flask 中捕获和读取传入 HTTP 请求的标头? [复制]【英文标题】:How to capture and read headers of incoming HTTP requests in Flask? [duplicate] 【发布时间】:2016-02-23 22:18:51 【问题描述】:我想读取到我的服务器的传入请求的标头以跟踪其位置和其他属性。
例如: 如果有人点击一个 URL,我将如何读取传入请求的标头?
【问题讨论】:
您阅读了多少Flask Quickstart?这是您在 Web 服务器环境中要做的最基本的事情之一。 API documentation 还介绍了如何获取请求信息。 我不知道 Flask,但我能够在 2 分钟内得到答案:Request class 就是您要找的东西。在您感兴趣的易于访问的列表之外是否有任何特定的标题? 【参考方案1】:您可以使用flask.request.headers
。这是一个werkzeug.datastructures.EnvironHeaders
对象,但您可以将其用作普通字典。
例如:
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
【讨论】:
以上是关于如何在 Flask 中捕获和读取传入 HTTP 请求的标头? [复制]的主要内容,如果未能解决你的问题,请参考以下文章