代码之家  ›  专栏  ›  技术社区  ›  ThoKra

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

  •  0
  • ThoKra  · 技术社区  · 16 年前

    是否有任何方法可以基于字符生成单词,并检查该单词是否存在域(ping)?

    我要做的是基于一些字符生成单词,例如“abcdefgh”,然后ping generatedword.com检查它是否存在。

    3 回复  |  直到 16 年前
        1
  •  7
  •   Tim Gilbert    16 年前

    您不想使用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 以及查询。

    你不会用这个来滥发信息吧?

        2
  •  3
  •   Andrew Grant    16 年前

    仅仅因为一个站点的ping失败并不意味着该域是可用的。域可以被保留,但不能指向任何地方,或者计算机可能没有响应ping,或者它可能只是关闭了。

        3
  •  0
  •   Shane C. Mason    16 年前

    似乎你在谈论字符组合的排列。这个相当不错 published recipe . 这个链接应该可以让你开始。

    另外一个注意事项是,ping不会告诉您服务器是否“存在”,或者该名称是否已注册,仅当它处于联机状态并且 在阻止ping流量的防火墙后面。