Как получить 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