域名注册状态查询免费API接口详细教程

简介: 本文介绍“接口盒子”提供的免费域名注册状态查询API,支持批量检测.com/.cn域名是否被注册。提供PHP和Python调用示例,含完整代码与返回参数说明,助力开发者快速集成域名查询功能,适用于品牌保护、域名投资等场景。(239字)

在互联网和数字化时代,域名作为企业和个人的网络门牌,其注册状态是至关重要的信息。无论是进行域名投资、品牌保护还是新项目启动,快速、批量地查询域名是否已被注册都是一项基本需求。本文将详细介绍由“接口盒子”提供的一个完全免费的域名注册状态查询API接口,并附上完整的PHP和Python调用示例,帮助开发者快速集成此功能。

一、接口简介

这个免费API接口的核心功能是查询指定域名的注册状态,即判断该域名是否已被他人注册。其技术原理是通过查询域名的WHOIS信息来进行判断。WHOIS是一个用来查询域名注册信息的公开数据库,包含了域名的注册人、注册商、注册日期、过期日期等详细信息。

  • 接口地址: https://cn.apihz.cn/api/wangzhan/domainzc.php
  • 请求方式: 支持 POSTGET 两种方式,方便不同场景下的调用。
  • 数据格式: 返回数据为标准的JSON格式,易于解析和处理。

二、接口认证与参数说明

要使用该接口,您需要在“接口盒子”用户中心获取您的认证信息。这是为了保证接口的公平使用,防止滥用。

1. 请求参数

所有参数都是必需的。

参数名称

参数

是否必填

说明

用户ID

id

您在“接口盒子”用户中心的数字ID。例如:id=10000000

用户KEY

key

用户中心的通讯秘钥,用于身份验证。例如:key=15he5h15ty854j5sr152hs2

查询域名

domain

要查询的域名。请注意:免费用户仅支持查询 .com.cn后缀的域名。如需查询更多后缀(如 .net, .cc, .xyz等),需要成为彩钻或炫钻会员。例如:domain=apihz.cn

2. 返回参数

接口调用后,会返回一个JSON对象,包含以下字段:

参数名称

参数

说明

状态码

code

200表示请求成功,400表示请求错误(如参数缺失、认证失败等)。

信息提示

msg

对状态码的详细文字说明,例如“通讯秘钥错误”。

查询域名

domain

返回您所查询的域名。

注册状态

type

这是核心字段0表示域名未注册1表示域名已注册

WHOIS信息

whois

只有当域名已注册(type=1)时,才会返回完整的WHOIS详细信息。

三、调用示例与代码实现

官方提供了一个公共的ID和KEY用于测试,但因其调用频次限制为所有用户共享,强烈建议您注册账号并使用自己的ID和KEY,以独享调用频次。

GET请求示例URL:

https://cn.apihz.cn/api/wangzhan/domainzc.php?id=88888888&key=88888888&domain=apihz.cn

下面我们分别用PHP和Python来实现对该接口的调用。

PHP调用示例

PHP可以使用 file_get_contents或 cURL 两种方式。这里展示更通用、功能更强大的cURL方法。

php

复制

<?php
// 配置您的认证信息和要查询的域名
$api_url = "https://cn.apihz.cn/api/wangzhan/domainzc.php";
$your_id = "你的用户ID"; // 请替换为你的实际ID
$your_key = "你的用户KEY"; // 请替换为你的实际KEY
$your_domain = "example.com"; // 请替换为你要查询的域名
// 构建请求URL (GET方式)
$request_url = $api_url . "?id=" . urlencode($your_id) . "&key=" . urlencode($your_key) . "&domain=" . urlencode($your_domain);
// 初始化cURL会话
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $request_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 将响应结果返回,而不是直接输出
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 简便起见,忽略SSL证书验证(生产环境建议设为true)
curl_setopt($ch, CURLOPT_TIMEOUT, 30); // 设置超时时间
// 执行请求并获取响应
$response = curl_exec($ch);
// 检查是否有cURL错误
if (curl_errno($ch)) {
    die('cURL请求发生错误: ' . curl_error($ch));
}
// 关闭cURL资源
curl_close($ch);
// 解析JSON响应
$data = json_decode($response, true);
// 处理返回数据
if ($data['code'] == 200) {
    echo "查询域名: " . $data['domain'] . "\n";
    echo "注册状态: " . ($data['type'] == 1 ? "已注册" : "未注册") . "\n";
    
    if ($data['type'] == 1) {
        echo "WHOIS信息: \n" . $data['whois'] . "\n";
    }
} else {
    echo "查询失败,错误信息: " . $data['msg'] . "\n";
}
?>
Python调用示例

Python可以使用内置的 urllib或更流行的第三方库 requests。这里使用 requests库,因为它代码更简洁。

首先,确保已安装 requests库:pip install requests

python

下载

复制

运行

import requests
import json
# 配置您的认证信息和要查询的域名
api_url = "https://cn.apihz.cn/api/wangzhan/domainzc.php"
your_id = "你的用户ID"  # 请替换为你的实际ID
your_key = "你的用户KEY"  # 请替换为你的实际KEY
your_domain = "example.com"  # 请替换为你要查询的域名
# 构建请求参数
params = {
    "id": your_id,
    "key": your_key,
    "domain": your_domain
}
try:
    # 发送GET请求
    response = requests.get(api_url, params=params, timeout=30)
    # 确保请求成功(状态码为200)
    response.raise_for_status()
    
    # 解析返回的JSON数据
    data = response.json()
    
    # 处理返回数据
    if data['code'] == 200:
        print(f"查询域名: {data['domain']}")
        status = "已注册" if data['type'] == 1 else "未注册"
        print(f"注册状态: {status}")
        
        if data['type'] == 1:
            print(f"WHOIS信息: \n{data['whois']}")
    else:
        print(f"查询失败,错误信息: {data['msg']}")
except requests.exceptions.RequestException as e:
    print(f"请求过程中发生错误: {e}")
except json.JSONDecodeError as e:
    print(f"解析JSON响应时发生错误: {e}")

四、返回数据示例

1. 域名未注册(成功)

json

复制

{
    "code": 200,
    "domain": "this-domain-probably-not-registered-123456.cn",
    "type": 0
}

2. 域名已注册(成功)

json

复制

{
    "code": 200,
    "domain": "apihz.cn",
    "type": 1,
    "whois": "Domain Name: apihz.cn\nROID: 20240319s10001s56425741-cn\nDomain Status: clientUpdateProhibited\n...(完整的WHOIS信息)..."
}

3. 请求错误(失败)

json

复制

{
    "code": 400,
    "msg": "通讯秘钥错误。"
}

五、重要注意事项

  1. 1.获取个人ID和KEY:示例中的 id=88888888&key=88888888是公共测试账号,频次限制低。请务必在“接口盒子”官网注册并登录用户中心,获取您自己的ID和KEY,以确保服务的稳定性和独享调用频次。
  2. 2.域名后缀限制:免费版仅支持 .com.cn域名。在查询前,请确认域名后缀是否在支持范围内。
  3. 3.错误处理:在实际应用中,务必添加完善的错误处理逻辑(如代码示例中的 try...exceptif判断),以应对网络问题、认证失败、参数错误等异常情况。
  4. 4.频率限制:虽然接口免费,但可能会有每分钟的调用次数限制。请查阅官方文档或用户中心了解具体的限制规则。

六、总结

“接口盒子”提供的这个免费域名状态查询API接口,以其简洁的参数、清晰的返回值和完全免费的特性,为开发者和小型项目提供了一个非常便利的工具。通过本文提供的PHP和Python代码示例,您可以轻松地将域名查询功能集成到您的网站、应用程序或脚本中,高效地完成域名监控、批量查询等任务。

目录
相关文章
|
5月前
|
JSON 监控 API
在线网络PING接口检测服务器连通状态免费API教程
接口盒子提供免费PING检测API,可测试域名或IP的连通性与响应速度,支持指定地域节点,适用于服务器运维和网络监控。
544 0
|
5月前
|
数据采集 JSON 监控
获取网页状态码(可指定地域)免费API接口教程
本文介绍如何使用接口盒子的免费API获取网页状态码,支持国内、香港、美国等不同地域访问节点。内容包括接口参数、调用方法及示例,适用于网站监控、链接检查等场景。
399 0
|
7天前
|
JSON API 数据格式
微信域名检测接口对接文档
该API用于检测指定URL是否被微信拦截,通过GET请求传入API Key和待测链接,返回JSON格式结果,包含状态码及信息,如-202(未拦截)、0(已拦截)等,便于开发者快速判断网页在微信中的访问状态。
|
人工智能 架构师 算法
阿里P6到P9的技术栈有哪些?程序员该如何准备学习?如何进入大厂
相信每一个程序员应该都有一个大厂梦,但是不知道如何进入大厂,或者说是技术栈和项目经验达不到大厂的要求! 那就有人问了,那怎么样才能进入大厂呢?进入大厂的话都有哪些要求呢? 小编,就给大家简单介绍一下,要想进入大厂需要达到的要求! 总结起来一共有四点:1.学历;2.技术栈+项目经验;3.心理素质+思维转变;4.面试技巧;
|
11天前
|
JSON API PHP
批量获取3位未注册短域名免费API接口每日更新
该API可批量查询指定后缀(如.com、.cn)下47,952个3位短域名的注册状态,数据每日更新,支持POST/GET请求。返回JSON格式,含未注册域名及检测时间,助力高效抢注。需使用个人ID/KEY调用。
89 0
|
5月前
|
JSON API PHP
化学元素信息,元素周期表查询免费API完整指南
本接口提供权威化学元素的100+项参数查询服务,涵盖原子结构、物理性质、分布数据等科研级参数。支持中文名称、元素符号(区分大小写)或原子序数查询,适用于教育软件、化学工具和科研系统开发。数据版权归属接口盒子。
118 0
|
5月前
|
JSON API PHP
通用图片搜索API:百度源免费接口教程
本文介绍一款基于百度图片搜索的免费API接口,由接口盒子提供。支持关键词搜索,具备详细请求与返回参数说明,并提供PHP及Python调用示例。开发者可快速集成实现图片搜索功能,适用于内容聚合、素材库建设等场景。
711 0
|
3月前
|
JSON 监控 API
Minecraft(我的世界)服务器信息查询免费API接口详解
本文介绍接口盒子提供的免费Minecraft服务器查询API,涵盖参数说明、返回解析及PHP/Python调用示例,助您快速集成服务器监控功能。
408 1
|
4月前
|
JSON API PHP
公交线路规划免费API接口详解
本接口提供基于起点和终点经纬度的公交线路规划功能,支持多种换乘方案,包含分段站点、线路名称、耗时等信息,适用于出行导航类应用开发。
138 4
|
4月前
|
JSON API 定位技术
公交线路站点查询API接口详解:免费获取全国公交路线数据
公交线路站点查询API提供全国公交数据,支持线路编号查询路线、站点、票价及运营时间。具备GET/POST请求方式,免费调用,适用于公交App、智慧交通及地图导航等场景。
358 4