插座原因。

2024-05-18 09:40:22 发布

您现在位置:Python中文网/ 问答频道 /正文

当谈到python和编程时,我是一个完全的新手。在过去的几周里,我一直在开发一个小的webapp,试图提高我的编码能力。几天前我的笔记本电脑被偷了,所以我出去买了一台新的MacBookPro。谢天谢地,我把一切都控制在颠覆控制之下。问题是现在我在我的新机器上运行的脚本已经停止工作,我不知道为什么。在

这真的是我所写的唯一一部分,我借用了大量的现有脚本。它是从广泛可用的whois.py脚本和我只是稍微修改了它如下(见下文)。它在我的旧系统(运行ubuntu)上运行良好,但是现在套接字错误正在被抚养。我完全迷路了,非常感谢你的帮助。谢谢!在

def is_available(domainname, whoisserver="whois.verisign-grs.com", cache=0):

    if whoisserver is None:
        whoisserver = "whois.networksolutions.com"

      s = None

      while s == None:
        try:
          s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
          s.setblocking(0)
          try:
            s.connect((whoisserver, 43))
          except socket.error, (ecode, reason):
            if ecode in (115, 150): pass
            else:
              raise socket.error, (ecode, reason)
          ret = select.select([s], [s], [], 30)

          if len(ret[1])== 0 and len(ret[0]) == 0:
            s.close()
            raise TimedOut, "on connect "
          s.setblocking(1)

        except socket.error, (ecode, reason):
          print ecode, reason
          time.sleep(1)
          s = None


      s.send("%s \n\n" % domainname)
      page = ""
      while 1:
        data = s.recv(8196)
        if not data: break
        page = page + data

      s.close()

Tags: 脚本comnonedataifispageerror