все Python 3socketфункция
socket.gethostbyname()
имена и адреса
Переводит имя хоста в IPv4-адрес строкой вида '93.184.216.34'. IPv6 не поддерживает.
Синтаксис
socket.gethostbyname(hostname) -> str
Функция знает только IPv4: для хоста, доступного лишь по IPv6, и для адреса '::1' она поднимает gaierror, поэтому в новом коде используют getaddrinfo(). Числовой адрес возвращается как есть, без DNS. 'localhost' обычно даёт '127.0.0.1', но gethostbyname(gethostname()) на Debian и Ubuntu часто возвращает '127.0.1.1' — это не адрес машины в локальной сети.
Примеры
import socket
print(socket.gethostbyname('127.0.0.1')) # → 127.0.0.1
try:
socket.gethostbyname('::1')
except socket.gaierror:
print('IPv6 не поддерживается') # → IPv6 не поддерживается
import socket
print(socket.gethostbyname('localhost')) # → ? 127.0.0.1
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности