РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
61 of 252 menu

Атрибут remote_addr

Атрибут remote_addr применяется к объекту запроса Request и содержит строку с IP-адресом клиента, сделавшего запрос. Значение берётся из WSGI-окружения (ключ REMOTE_ADDR) и обычно представляет собой IPv4- или IPv6-адрес. Если адрес определить не удалось, атрибут возвращает None.

Синтаксис

request.remote_addr

Пример

Давайте выведем IP-адрес клиента в ответе на запрос:

from bottle import Bottle, request app = Bottle() @app.route('/') def index(): return request.remote_addr

Результат выполнения кода для локального запроса:

127.0.0.1

Пример

Давайте проверим, с какого адреса пришёл запрос, и вернём разные ответы для локального и внешнего клиента:

from bottle import Bottle, request app = Bottle() @app.route('/') def index(): addr = request.remote_addr if addr == '127.0.0.1': return 'local client' return 'remote client: ' + str(addr)

Результат выполнения кода для локального запроса:

local client

Пример

Давайте сохраним IP-адрес клиента в шаблон вместе с другими данными запроса:

from bottle import Bottle, request, template app = Bottle() @app.route('/') def index(): return template('index', addr=request.remote_addr)

Содержимое шаблона index.tpl:

<p>Client address: {{ addr }}</p>

Результат выполнения кода для локального запроса:

<p>Client address: 127.0.0.1</p>

Смотрите также

  • класс Request,
    который представляет HTTP-запрос
  • атрибут environ,
    который хранит WSGI-окружение запроса
  • атрибут remote_route,
    который содержит список IP-адресов прокси
  • атрибут headers,
    который хранит заголовки запроса
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить