Чтобы получить IPv4 пользователя, нам нужно воспользоваться библиотекой socket
1 2 3 4 5 6 |
import socket hostname = socket.gethostname() # Получаем имя хоста IP = socket.gethostbyname(hostname) # Получаем IP по имени хоста print(IP) # На выходе получаем IP-адрес компьютера. |
@linnea
Вы можете получить IP-адрес пользователя в Python, используя модуль socket
.
Пример:
1 2 3 4 5 6 7 8 9 10 |
import socket # получение имени хоста host_name = socket.gethostname() # получение IP-адреса хоста ip_address = socket.gethostbyname(host_name) print("Имя хоста:", host_name) print("IP-адрес хоста:", ip_address) |
Этот код получит IP-адрес вашего локального компьютера. Если вы хотите получить IP-адрес удаленного пользователя, вы можете использовать метод getpeername()
для сокета соединения с этим пользователем.
Пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
import socket # создание сокета server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # привязка сокета к порту server_socket.bind(('localhost', 12345)) # ожидание соединения server_socket.listen(1) # принятие соединения client_socket, address = server_socket.accept() # получение IP-адреса удаленного клиента ip_address = client_socket.getpeername()[0] print("IP-адрес клиента:", ip_address) # закрытие сокетов client_socket.close() server_socket.close() |
Этот код создаст сокет и ожидает соединения с клиентом. Когда клиент подключится, код получит IP-адрес удаленного клиента с помощью метода getpeername()
для сокета клиента. Затем сокеты будут закрыты.