python - 连接服务器时如何避免程序卡住

标签 python connection whois pywhois

我有一个小脚本可以过滤那些尚未注册的域名。我使用 pywhois 模块。问题是它在几次(有时是数百个)请求后突然卡住并且不执行任何操作。我认为这不是禁令,因为我可以在卡住后立即运行该程序并且它可以工作。

我想避免这种卡住。我的想法是计算函数的运行时间,如果时间跨越某条线(例如 10 秒),它将重复代码。

您对如何避免卡住有什么建议吗?或者检查域的更好方法?

这是代码:

for keyword in keywords:
        try:
            details = pythonwhois.get_whois(keyword+'.com')
        except Exception as e:
            print e
            continue
        if 'status' not in details.keys():
            print 'Free domain!'
            print keyword

最佳答案

此方法很容易发生变化(如果底层库发生变化),但是,您可以调用内部套接字函数来为所有 pythonwhois 网络调用设置超时。例如:

TIMEOUT = 5.0 # timeout in seconds
pythonwhois.net.socket.setdefaulttimeout(TIMEOUT)
pythonwhois.get_whois("example.com")

关于python - 连接服务器时如何避免程序卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30426727/

相关文章:

python - (Python/Pandas) 根据条件划分两列旋转数据框

python - Scikit-Learn:如何执行最佳子集 GLM 泊松回归?

python - 单页应用程序 + REST 后端的用户管理

javascript - $http超时是什么意思?

java - 获取 .com 域名 whois.verisign-grs.com 的 Whois 数据

python - 在条件 Pandas 的新列中分配值

php - 当 2 个 MySQL 连接使用相同的临时表名时,它们是否可能崩溃?

postgresql "keepalives"参数

database - 如何创建最近过期的域列表?

php - 创建 whois 查询的最佳方法是什么?