Python Glossary English

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

socket.getservbyport()

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

Возвращает имя стандартной службы для номера порта: 443 → 'https', 22 → 'ssh'.

Синтаксис

socket.getservbyport(port, protocolname=None) -> str

Как и getservbyname, смотрит в локальную таблицу /etc/services и не знает, что на порту запущено на самом деле. Порт, которого нет в таблице, поднимает OSError, а не возвращает None; номер вне 0–65535 — OverflowError. Для логов удобно ловить OSError и печатать сам номер.

Примеры

import socket
print(socket.getservbyport(443, 'tcp'))  # → https
try:
    socket.getservbyport(65000)
except OSError:
    print('нет в таблице')  # → нет в таблице
socket.getservbyport(70000)  # → OverflowError

См. также

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

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