You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何获取欧盟(EU)域名的注册、更新及过期日期?

解决EU域名WHOIS无法获取注册/过期/更新日期的问题

我完全懂你遇到的这个头疼问题——EU域名的WHOIS数据现在确实因为EURID的限制变得难搞了不少。你用socket直接连whois.eu的方式拿不到日期,不是代码的问题,而是EURID早就调整了公开WHOIS的返回内容,把这些敏感日期字段藏起来了,而且他们的官网反爬也堵死了爬虫获取数据的路。下面给你一个合规且可行的解决方案:

核心原因:EURID的WHOIS限制

EURID(EU域名的管理机构)已经不再通过传统的端口43 WHOIS服务返回注册、过期和更新日期这类数据了,普通WHOIS查询只能拿到域名状态、注册商等基础信息。想要获取日期数据,必须使用他们的官方REST API,这是唯一被允许的合规途径,不会触发反爬。

具体解决方案:使用EURID官方API

步骤1:获取API密钥

去EURID的官方开发者入口注册一个免费的API密钥,流程很简单,填写基本信息就能拿到。免费额度足够普通个人或小型团队使用(每月几千次查询)。

步骤2:编写API查询代码

用HTTP请求库(比如requests)调用API,直接获取结构化的JSON数据,轻松提取需要的日期字段。示例代码如下:

import requests

def get_eu_domain_dates(domain, api_key):
    # EURID官方API的域名详情接口
    api_url = f"https://api.eurid.eu/v1/domains/{domain}"
    # 请求头必须包含API密钥和接受JSON格式的声明
    headers = {
        "Authorization": f"Bearer {api_key}",
        "Accept": "application/json"
    }
    
    response = requests.get(api_url)
    if response.status_code == 200:
        domain_data = response.json()
        # 提取目标日期字段
        return {
            "注册日期": domain_data.get("registration_date"),
            "过期日期": domain_data.get("expiration_date"),
            "最后更新日期": domain_data.get("last_update_date")
        }
    else:
        return f"查询失败:状态码 {response.status_code},错误信息 {response.text}"

# 替换成你的API密钥和要查询的EU域名
print(get_eu_domain_dates("example.eu", "你的API密钥"))

注意事项

  • 务必保管好你的API密钥,不要把它提交到公共代码仓库或者公开场合。
  • 如果免费额度不够,可以在EURID平台升级付费套餐,支持更高的查询频次。
  • 不要再尝试用爬虫去爬eurid.eu官网,他们的反爬机制很严格,容易被封禁IP,而且这也是违反他们服务条款的行为。

为什么之前的WHOIS库都不行?

不管你用哪个第三方WHOIS库,本质上都是通过端口43连接whois.eu服务器查询,而EURID已经在这个服务里移除了日期字段,所以这些库自然拿不到数据。官方API是目前唯一能获取这些信息的合法渠道。

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

火山引擎 最新活动