Определить локальное подключение в Python - PullRequest
2 голосов
/ 20 августа 2010

Как узнать, есть ли в моей клиентской системе сетевое соединение с использованием python?Могу предположить клиента, связанного с DHCP.Я не могу использовать списки известных надежных сайтов для проверки связи, чтобы проверить соединение, так как он должен работать как в изолированных сетях, так и в открытых.так как он не только возвращает петлю).Но ....

print socket.gethostbyaddr('localhost')

возвращает

('localhost', ['ip6-localhost', 'ip6-loopback'], ['::1'])

, что не очень полезно.Любые другие идеи будут оценены, спасибо!

1 Ответ

4 голосов
/ 20 августа 2010

localhost всегда должен возвращать 127.0.0.1 в ip4, '::1' в ip6, поэтому, конечно, это не будет полезным - это интерфейс loopback , а не карта Ethernet или что-то еще; -.)

Лично я бы использовал subprocess.Popen, чтобы запустить ifconfig и проанализировать результаты (это записано ipconfig в Windows) - не идеально, но довольно практично, IMNSHO; -).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...