Python Glossary English

все 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Сообщить о неточности