#python-3.x #flask #repl.it
#python-3.x #flask #repl.it
Вопрос:
У меня есть веб-страница на основе flask, запущенная на repl.it . На указанном веб-сайте у меня есть форма, которая использует post для отправки данных на страницу сайта.
На этой странице у меня есть следующий код python:
b = request.environ.get('HTTP_X_FORWARDED_FOR', request.remote_addr)
который должен возвращать (clientip, proxy1, proxy2), как и на любой другой странице веб-сайта, на котором я его использую, однако он просто возвращает только proxy2. Я просмотрел request.envrion
и IP-адрес клиента вообще не встречается. Почему это? Почему это работает на других страницах сайта, но не здесь?
Как мне получить request.envrion
указание IP-адреса клиента на этой странице? Есть ли какая-то альтернатива request.envrion
, которую я могу использовать для получения IP-адреса клиента?
Ответ №1:
Вы можете попробовать это:
headers_list = request.headers.getlist("HTTP_X_FORWARDED_FOR")
http_x_real_ip = request.environ.get('HTTP_X_REAL_IP', request.remote_addr)
ip_address = headers_list[0] if headers_list else http_x_real_ip