簡體   English   中英

如何在 Flask 中訪問 SERVER 變量?

[英]How to access SERVER variable in Flask?

就像在 PHP 中一樣,我們可以像這樣打印數組 $_server:

<?php 
echo '<pre>';
print_r($_SERVER);
echo '</pre>';
?>

我們如何訪問flask中php的等效$_server變量。

使用mod_wsgi ,通過 mod_python,您的應用程序會被傳遞一個環境變量,例如:

def application(environ, start_response):
...

並且環境包含來自 PHP 中 $_SERVER 的典型元素

...
environ['REQUEST_URI'];
...

這與$_SERVER的內容不是 1:1 的,但是request.environ對象可以立即使用 - 即無需 mod_wsgi 即可工作。 這是一個最小的例子:

from flask import Flask, request

app = Flask(__name__)


@app.route('/')
def home():
    resp = [str(f"{f}: {request.environ[f]}") for f in request.environ]
    return "</br>".join(resp)


if __name__ == "__main__":
    app.run(debug=True, host='0.0.0.0', threaded=True)

我有一個在 docker-compose 中運行的小 Flask 應用程序,該應用程序在已經有 Apache 和相當多的配置的主機上運行。 我能夠看到從主機傳遞的所有主機相關信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM