Как получить ЛОКАЛЬНЫЙ адрес компьютера?

Скажите пожалуйста, с помощью import geoip2.database и request.META.get('HTTP_X_FORWARDED_FOR') я получаю внешний IP, а как мне получить локальный адрес компа? Именно компа, а не хоста и т.д., потому что на него я буду регат пользователей.

ПС MAC адрес не подходит, т.к. бывают недопонимания с провайдерами.


Ответы (1 шт):

Автор решения: Kers

Как вариант:

import socket

def local_ip():
    # Получаем локальный IP
    local_ip = socket.gethostbyname(socket.gethostname())
    if local_ip == "192.168.244.1":
        return "Err (192.168.244.1)"
    return local_ip

192.168.244.1 обычно определяет при отсутствии сети. Наверное можно этот момент обработать более правильно, но и так все работает.

Для получения уникального ID.

import subprocess
m_id = subprocess.check_output('wmic csproduct get uuid').decode().split('\n')[1].strip()
print(m_id)
→ Ссылка