You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

whois.whois(domain)在for循环中无法返回域名注册商问题排查

问题原因

  • 核心原因:逐行读取txt文件时,除最后一行外的所有行末尾都带有隐式换行符\n,你直接将未做清洗的字符串传入whois.whois()接口,带换行的域名属于非法格式,查询直接失败返回空,只有无换行符的最后一条域名能正常查询得到结果。
  • 次要诱因:部分whois库默认开启查询缓存,或是未设置查询间隔触发whois服务器限流,也会导致前面的查询无返回。

修复方案

你只需要在读取每行后调用strip()方法去除首尾空白字符(包含换行符、空格等),同时增加简单的错误捕获和查询间隔即可,修复后代码如下:

import whois
import time

with open("domenytxt.txt", "r", encoding="utf-8") as a_file:
    for line in a_file:
        # 去除首尾空白、换行符,跳过空行
        domain = line.strip()
        if not domain:
            continue
        try:
            rejestr = whois.whois(domain).registrar
            print(f"{domain}: {rejestr}")
        except Exception as e:
            print(f"{domain} 查询失败: {str(e)}")
        # 加1秒间隔防止被whois服务器限流
        time.sleep(1)

内容的提问来源于stack exchange,提问作者radkar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 20:15:07