域名注册查询API接口, 是开发者通过发出HTTP请求以批量获取域名注册状态还有注册商并且包括注册时间等whois信息的标准化数据通道这类的东西。

调用方只需要把目标域名作为查询参数输入到接口地址里面去, 然后就能得到结构化的JSON响应了, 这种情况下是不需要再去解析原始whois文本的, 整个过程就是这么个情况。以下的说明内容是基于gname.xin开放平台所公布的接口规范而制定的, 用于阐释完整的调用方式以及各个字段的具体含义。

接口地址与请求方式

接口端点:https://api.gname.xin/v1/domain/whois

请求方法:GET

认证的方式是, 在请求头里面携带上Authorization: Bearer {YOUR_API_KEY}这样的内容, 密钥是在gname.xin控制台完成开通操作之后, 系统会自动生成的。

查询参数

参数名 类型 是否必填 说明
domain string 是 待查询域名,如example.com
source string 否 指定whois源,默认auto,可选whois/rdap

域名参数必须是完整的FQDN格式, 系统只允许输入完整的域名, 如果用户仅输入二级域名的话, 是不被支持的。

返回字段说明

当请求成功完成的时候, HTTP状态码就是200, 响应体里面的核心字段如下所示。

domain:查询的域名

registrar:注册商名称

registrar_id:注册商IANA编号

creation_date: 这个表示的是注册日期, 并且要写成ISO 8601这种格式。

把expiration_date这个字段的意思, 用现在人能直接听懂的书面话来讲, 它就是指的到期日期。

API接口域名注册查询:调用方法与返回参数详解(图1)

status:域名状态数组,常见值包括ok、clientHold、serverLocked

指的是name_servers, 也就是我们所说的域名系统服务器列表。

updated_date:最近变更日期

如果域名没有被注册, 那么status就会返回unregistered, 其他的、关于注册的字段全部都是空的。

调用示例

GET https://api.gname.xin/v1/domain/whois?domain=example.com
Authorization: Bearer sk-xxxxxxxxxxxx

成功地做出了反应。

{
  "domain": "example.com",
  "registrar": "Example Registrar",
  "registrar_id": "151",
  "creation_date": "1995-08-14T04:00:00Z",
  "expiration_date": "2025-08-13T04:00:00Z",
  "status": ["ok"],
  "name_servers": ["a.iana-servers.net", "b.iana-servers.net"]
}

调用限制与注意事项

1. 关于频率的限制情况是, 在使用同一个密钥的时候, 在默认的条件下, 每一分钟的时间段内最多可以发起60次的请求操作, 如果超过这个数量的限制, 那么系统就会返回429 Too Many Requests。

2. 关于批量查询这一操作, 在单次发起请求的时候, 系统仅仅只接受一个单一的域名;如果您是需要执行批量查询这个动作的话, 那么必须通过一个个地、按时地去调用接口来实现, 并且每次调用的时间间隔是绝对不能少于1秒的。

3. 数据时效的情况是, whois信息里面会存在一个最长的情况, 也就是24小时的缓存时间, 所以刚完成的注册或者是转移操作, 可能会延迟去反映出来。

4. 关于隐私保护方面的问题, 需要说明的是, 如果部分注册商在开启whois隐私之后, 那么与registrant相关的各个字段就会返回掩码值, 这属于正常的现象。

5. 错误码为404的情况API接口域名注册查询API接口域名注册查询龙南市就业服务平台,是表示域名的格式是不合法的, 错误码为422的时候, 则表示该顶级域名还没有接入到查询源的里面去, 错误码如果是503的话, 这表示上游的那个whois服务器现在是暂时不能用, 所以大家建议可以采用指数退避的方法来重新进行重试。

接入流程

注册一个gname.xin账号, 然后在控制台申请API Key, 接着把Key写入到服务端的环境变量里, 再按照上面说的那个格式去发起请求, 最后解析JSON响应。如果这是第一次调用, 建议你先用一个有知名度的域名来验证连通性是不是正常的, 确认没问题以后, 再把东西批量地接进生产环境里。