DNS解析API接口使用说明

本接口提供多运营商DNS解析服务,支持A/AAAA/CNAME/MX/NS/TXT等记录类型查询

IP/域名查询API接口使用文档

1. 接口基本信息

接口地址:http://ping.4759.cn/api/dns.php

请求方式:POST/GET(推荐POST)

Content-Type:application/json(POST请求)

授权方式:API Key(测试密钥已内置,无需手动申请)

注:测试密钥已内置,可直接使用在线调试工具测试;生产环境需联系管理员申请专属API Key,每个Key有对应的调用次数和频率限制。

2. 请求参数说明

参数名 必选 类型 说明 示例值
api_key string 接口授权码(测试密钥已内置,无需手动输入) 内置测试密钥
domain string 要解析的域名(支持二级/多级域名) www.baidu.com、qq.com
recordType string 解析记录类型,可选值:A/AAAA/CNAME/MX/NS/TXT A(默认值)
queryCount int 每个DNS服务器的查询次数(最多3次) 1(默认值)
mainOperators array 要查询的运营商大类,为空则查询全部 ["电信DNS", "联通DNS"]
运营商大类可选值:电信DNS、联通DNS、移动DNS、港澳台DNS、海外DNS

3. 调用示例

3.1 POST请求示例(JSON格式)
{
    "api_key": "内置测试密钥",
    "domain": "www.baidu.com",
    "recordType": "A",
    "queryCount": 2,
    "mainOperators": ["电信DNS", "联通DNS"]
}
3.2 PHP调用示例
<?php
// +----------------------------------------------------------------------
// |  DNS解析API接口 PHP调用示例
// | 复制即可使用,需替换为自己的API Key
// +----------------------------------------------------------------------
$url = 'http://ping.4759.cn/api/dns.php';

// 请求参数
$data = [
    'api_key' => '内置测试密钥', // 生产环境替换为管理员提供的API Key
    'domain' => 'www.baidu.com',
    'recordType' => 'A',
    'queryCount' => 2,
    'mainOperators' => ['电信DNS', '联通DNS']
];

// 初始化curl
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Content-Type: application/json; charset=utf-8'
]);

// 执行请求
$response = curl_exec($ch);
curl_close($ch);

// 解析结果
$result = json_decode($response, true);
print_r($result);
?>
3.3 Python调用示例
import requests
import json

# 接口地址
url = 'http://ping.4759.cn/api/dns.php'

# 请求参数
data = {
    "api_key": "内置测试密钥", # 生产环境替换为管理员提供的API Key
    "domain": "www.baidu.com",
    "recordType": "A",
    "queryCount": 2,
    "mainOperators": ["电信DNS", "联通DNS"]
}

# 发送请求
headers = {'Content-Type': 'application/json'}
response = requests.post(url, data=json.dumps(data), headers=headers)

# 解析结果
result = response.json()
print(result)

4. 返回结果说明

成功返回示例
{
    "code": 200,
    "message": "DNS解析查询成功",
    "data": [
        {
            "operator": "电信DNS-北京",
            "dnsServer": "202.96.128.86",
            "location": "中国电信-北京",
            "resolveResult": "110.242.68.3",
            "ttl": 5,
            "avgResponseTime": 15,
            "minResponseTime": 12,
            "maxResponseTime": 18,
            "queryCount": 2,
            "successCount": 2,
            "successRate": "100%"
        },
        {
            "operator": "联通DNS-上海",
            "dnsServer": "221.5.88.88",
            "location": "中国联通-上海",
            "resolveResult": "110.242.68.4",
            "ttl": 5,
            "avgResponseTime": 20,
            "minResponseTime": 18,
            "maxResponseTime": 22,
            "queryCount": 2,
            "successCount": 2,
            "successRate": "100%"
        }
    ],
    "call_info": {
        "used_day": 5,
        "remaining_day": 45,
        "used_hour": "无统计",
        "remaining_hour": "无统计"
    }
}
字段名 类型 说明
code int 返回状态码(200为成功)
message string 返回提示信息
data array 解析结果数组,每个元素对应一个DNS服务器的解析信息
call_info object 调用次数统计(今日已用/剩余次数)
data数组元素说明
字段名 说明
operator DNS服务器名称(如:电信DNS-北京)
dnsServer DNS服务器IP地址
location DNS服务器地理位置
resolveResult 解析结果(IP/域名/TXT内容等)
ttl 解析记录的TTL值(秒)
avgResponseTime 平均响应时间(毫秒)
minResponseTime 最小响应时间(毫秒)
maxResponseTime 最大响应时间(毫秒)
successRate 解析成功率(百分比)

5. 返回状态码说明

状态码 说明 解决方案
200 请求成功 -
400 参数错误(域名格式无效) 检查域名格式,确保为合法域名(如:www.baidu.com)
401 缺少api_key参数 在线调试工具已内置测试密钥,无需手动输入;自定义调用需添加api_key参数
403 授权码无效/禁用/过期/次数超限 测试密钥超限可联系管理员重置;生产环境核实授权码状态,或等待次日次数重置
429 调用频率超限(IP被拉黑) 10分钟后重试,或联系管理员加入白名单
500 服务器内部错误 联系管理员排查问题

6. 在线调试工具

7. 注意事项

服务器检测中...