擅长:python、mysql、java
<p>您不想使用ping命令,但是可以使用Python的<a href="http://docs.python.org/library/socket.html#socket.gethostbyname" rel="nofollow noreferrer">^{<cd1>} function</a>来确定主机是否存在。在</p>
<pre><code>def is_valid_host(hostname):
try:
addr = socket.gethostbyname(hostname)
except socket.gaierror, ex:
return False
return True
hosts = ['abc', 'yahoo.com', 'google.com', 'nosuchagency.gov']
filter(is_valid_host, hosts)
</code></pre>
<p>这将花费大量的时间,可能会让你的ISP对你发火。你最好还是:</p>
<ol>
<li><p>使用低级DNS接口,如<a href="http://www.dnspython.org/" rel="nofollow noreferrer">dnspython</a>,或</p></li>
<li><p>找到域注册器的直接接口,如<a href="http://pypi.python.org/pypi?%3Aaction=search&term=whois&submit=search" rel="nofollow noreferrer">whois</a>,并查询该接口。</p></li>
</ol>
<p>你不会用这个给别人发垃圾邮件吧?在</p>