循环使用字符,生成单词并检查域是否存在

时间:2009-04-09 20:03:11

标签: python ping

有没有办法根据字符生成单词并检查域是否存在此单词(ping)?

我想要做的是根据某些字符生成单词,例如“abcdefgh”,然后ping generateword.com以检查它是否存在。

3 个答案:

答案 0 :(得分:7)

您不想使用ping命令,但可以使用Python的socket.gethostbyname() function来确定主机是否存在。

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)

这需要花费大量时间,也许会让你的ISP对你生气。你最好还是:

  1. 使用较低级别的DNS界面,例如dnspython

  2. 找到域名注册商的直接界面,​​例如whois,然后查询。

  3. 你不打算用它来垃圾邮件,是吗?

答案 1 :(得分:3)

仅仅因为网站失败并不意味着域名可用。域可以保留但不指向任何地方,或者机器可能不响应ping,或者它可能只是关闭。

答案 2 :(得分:0)

好像你在谈论角色组合的排列。这是一个相当不错的published recipe。该链接应该让你开始。

另外一个注意事项,ping不会告诉您服务器是否“存在”或者名称是否已注册,只有当它在线并且在防火墙后面阻止ping流量时才会显示。