2016-04-15 5 views
0

Я хочу получить fqdn из имени хоста. Я выполняю эту команду на сервере linux: python -c "import sys, socket; sys.stdout.write (socket.gethostbyaddr ('') [0])" Эта команда хорошо работает и возвращает fqdn из имя хоста. Но для некоторых других серверов, то возвращает эту ошибку: Traceback (самый последний вызов последнего): Файла «», строка 1, в socket.herror: [Errno 1] Неизвестный хостsocket.gethostbyaddr возвращает неизвестный хост

Когда я делаю «хозяин» linux, я получаю fqdn неудачных имен узлов с помощью команды python.

У кого-нибудь есть решение для этого плз?

+0

Я получил 3 IP-адреса на одном интерфейсе и получил 5 услуг. Вы хотите получить имя хоста, но какой интерфейс (или клон-интерфейс) является текущим? Определите IP-адрес перед получением имени хоста. Используйте модуль 'netifaces' ... – dsgdfg

ответ

0

Difficulty using Python's socket.gethostbyaddr() охватывает это красиво.

Суть в том, что вы должны проверить наличие записи PTR. Если нет, вам придется обрабатывать его с помощью предложения try, except.

В частности, посмотрите на часть, сравнивающую действительные и недействительные записи PTR.

+0

Мой вход не был IP-адресом, но это было имя хоста без домена. Просто имя сервера. – user3652134

 Смежные вопросы

  • Нет связанных вопросов^_^