Как получить IP текущего пользователя в Python / Django

Я пытаюсь перехватить IP-адрес и системное имя текущего пользователя во время процесса входа в систему. Для этого я использую следующий код:

import socket
system = socket.gethostname()
IPAddr = socket.gethostbyname(system)

Он работает нормально на локальном сервере, но когда я нажимаю на сервер, он принимает имя сервера и IP сервера вместо IP пользователя.

Что-то вроде этого должно помочь :

def visitor_ip_address(request):
    x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR')
    if x_forwarded_for:
        ip = x_forwarded_for.split(',')[0]
    else:
        ip = request.META.get('REMOTE_ADDR')
    return ip

Источник

Вернуться на верх