Атрибут remote_route
Атрибут remote_route применяется к объекту
request и возвращает список IP-адресов
клиента, полученных из заголовков
X-Forwarded-For или X-Real-IP.
Если запрос прошёл через цепочку прокси-серверов,
список будет содержать адреса в порядке от
ближайшего прокси к исходному клиенту. Если
заголовки отсутствуют, возвращается пустой список.
Синтаксис
request.remote_route
Пример
Давайте выведем содержимое атрибута
remote_route в обработчике маршрута:
from bottle import Bottle, request
app = Bottle()
@app.route('/')
def index():
res = request.remote_route
return str(res)
Результат выполнения кода при отсутствии прокси-заголовков:
[]
Пример
Давайте проверим, что вернёт атрибут, если
запрос пришёл через прокси-сервер с заголовком
X-Forwarded-For:
from bottle import Bottle, request
app = Bottle()
@app.route('/')
def index():
res = request.remote_route
return str(res)
Результат выполнения кода при заголовке
X-Forwarded-For: 203.0.113.1, 198.51.100.2:
['203.0.113.1', '198.51.100.2']
Смотрите также
-
атрибут
remote_addr,
который содержит IP-адрес клиента -
класс
Request,
который представляет HTTP-запрос -
атрибут
headers,
который содержит заголовки запроса -
атрибут
environ,
который содержит WSGI-окружение запроса