Python Glossary English

все Python 3socketфункция

socket.gethostbyname_ex()

имена и адреса

Расширенный gethostbyname: возвращает (основное имя, псевдонимы, все IPv4-адреса хоста).

Синтаксис

hostname, aliases, addresses = socket.gethostbyname_ex(hostname)

Нужен, когда у имени несколько адресов (балансировка через DNS): gethostbyname вернёт лишь один из них. Ограничение то же — только IPv4, IPv6-адреса в список не попадают. Порядок адресов задаёт DNS-сервер и может меняться от запроса к запросу, так что брать всегда [0] — не то же самое, что «главный адрес».

Примеры

import socket
print(socket.gethostbyname_ex('127.0.0.1'))  # → ('127.0.0.1', [], ['127.0.0.1'])
name, aliases, addresses = socket.gethostbyname_ex('localhost')
print(addresses)  # → ? ['127.0.0.1']

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности