hostname - python: 检查主机名是否已经解析

  显示原文与译文双语对照的内容
0 0

如果主机名解析和 0如果主机名解析并,则 python 中的函数如何返回 1.

我找不到任何有用的东西?

谢谢,

时间: 原作者:

0 0

你可以使用 socket.gethostbyname():


>>> import socket
>>> socket.gethostbyname('google.com')
'74.125.224.198'
>>> socket.gethostbyname('foo') # no host 'foo' exists on the network
Traceback (most recent call last):
 File"<stdin>", line 1, in <module>
socket.gaierror: [Errno 8] nodename nor servname provided, or not known

你的函数可能类似于:


def hostname_resolves(hostname):
 try:
 socket.gethostbyname(hostname)
 return 1
 except socket.error:
 return 0

例如:


>>> hostname_resolves('google.com')
1
>>> hostname_resolves('foo')
0

原作者:
0 0

你可以在 Windows 系统中尝试,这是检查主机名有效性的一种最简单的方法。


x = os.system("ping google.com")
if x == 0: 
 print"HOST IS CONNECTED :)"

...