Атрибут host
Атрибут host применяется к объекту
request внутри функции-обработчика
и возвращает строку с доменным именем
(или IP-адресом) и, при наличии, номером порта,
которые клиент указал в заголовке Host.
Если порт не указан явно и используется
стандартный порт (80 для HTTP или 443 для HTTPS),
то возвращается только имя хоста без порта.
Значение атрибута формируется на основе данных
из WSGI-окружения запроса, а не из URL,
поэтому оно не содержит схему, путь и параметры.
Для получения полного адреса с протоколом
используйте атрибут host_url.
Синтаксис
request.host
Пример
Давайте выведем значение host в ответ
на запрос к корневому адресу:
from flask import Flask, request
app = Flask(__name__)
@app.route('/')
def index():
return request.host
Результат выполнения кода для запроса
к адресу http://example.com/:
"example.com"
Пример
Если запрос приходит на нестандартный порт, он также попадёт в значение атрибута:
from flask import Flask, request
app = Flask(__name__)
@app.route('/')
def index():
return request.host
Результат выполнения кода для запроса
к адресу http://example.com:8080/:
"example.com:8080"
Смотрите также
-
атрибут
host_url,
который возвращает полный адрес хоста с протоколом -
атрибут
url,
который возвращает полный URL запроса -
атрибут
remote_addr,
который возвращает IP-адрес клиента -
класс
Request,
который представляет входящий HTTP-запрос