Атрибут scheme
Атрибут scheme применяется к объекту запроса request
и возвращает строку с названием протокола, по которому
пришёл запрос. Чаще всего это 'http' или 'https'.
Значение берётся из заголовка X-Forwarded-Proto
или из переменных WSGI-окружения.
Синтаксис
request.scheme
Пример
Давайте выведем протокол текущего запроса:
from flask import Flask, request
app = Flask(__name__)
@app.route('/')
def index():
return request.scheme
Результат выполнения кода для обычного запроса:
"http"
Пример
Давайте используем атрибут scheme для построения
полного URL запроса:
from flask import Flask, request
app = Flask(__name__)
@app.route('/')
def index():
full_url = request.scheme + '://' + request.host + request.path
return full_url
Результат выполнения кода для адреса /:
"http://localhost:5000/"
Пример
Давайте проверим, пришёл ли запрос по защищённому протоколу:
from flask import Flask, request
app = Flask(__name__)
@app.route('/')
def index():
if request.scheme == 'https':
return 'secure'
return 'not secure'
Результат выполнения кода для http-запроса:
"not secure"