免费域名服务API使用文档

此文档部分功能已失效,
 
请使用全新的V.20文档!!!
 
Some features in this document are no longer working.
 
Please use the new V.20 document!
此文档部分功能已失效,
 
请使用全新的V.20文档!!!
 
Some features in this document are no longer working.
 
Please use the new V.20 document!
 
 
欢迎使用免费域名API服务。
 
本 API 旨在为开发者提供高效、便捷的域名管理解决方案,支持子域名注册、DNS 记录配置、API 密钥管控及配额查询等核心能力,无需深入底层 DNS 技术细节,
 
文档系统梳理了 API 的调用规范、端点详情、请求 / 响应示例及多语言 SDK 实现,适用于需要集成域名服务的各类应用场景(如开发者工具、SAAS 平台、个人项目等)。
 
使用前请确保已获取合法的 API Key 与 API Secret,严格遵循认证机制与速率限制要求。建议优先采用 HTTP Header 方式传递认证信息,同时做好密钥安全防护与访问权限管控。
 
若在集成过程中遇到问题,可参考文档 “常见问题” 或联系客服获取技术支持。我们将持续优化 API 功能与文档质量,为您提供更稳定、高效的开发体验。
 
  • API 地址https://api005.dnshe.com/index.php?m=domain_hub
  • 认证方式:API Key + API Secret
  • 支持格式:JSON
  • 默认速率限制:默认 60 请求 / 分钟

二、认证机制

1. 获取 API 密钥

  1. 登录 DNSHE 客户区
  2. 进入 "免费域名" 页面
  3. 在底部找到 "API 管理" 卡片
  4. 点击 "创建 API 密钥"

2. 认证方式示例

方式 1:HTTP Header(推荐)

curl -X GET "https://api005.dnshe.com//index.php?m=domain_hub&endpoint=subdomains&action=list" \
  -H "X-API-Key: cfsd_xxxxxxxxxx" \
  -H "X-API-Secret: yyyyyyyyyyyy"

三、核心 API 端点及示例

1. 子域名管理

操作 方法 描述
list GET 列出所有子域名
register POST 注册新子域名
get GET 获取子域名详情
delete POST/DELETE 删除子域名
renew POST/PUT 续期子域名

1.1 列出子域名

  • 请求示例
 
bash
curl -X GET "https://api005.dnshe.com/index.php?m=domain_hub&endpoint=subdomains&action=list" \
  -H "X-API-Key: cfsd_xxxxxxxxxx" \
  -H "X-API-Secret: yyyyyyyyyyyy"
 
 
  • 响应示例
 
json
 
{
  "success": true,
  "count": 2,
  "subdomains": [
    {
      "id": 1,
      "subdomain": "test",
      "rootdomain": "example.com",
      "full_domain": "test.example.com",
      "status": "active",
      "created_at": "2025-10-19 10:00:00",
      "updated_at": "2025-10-19 10:00:00"
    },
    {
      "id": 2,
      "subdomain": "api",
      "rootdomain": "example.com",
      "full_domain": "api.example.com",
      "status": "active",
      "created_at": "2025-10-19 11:00:00",
      "updated_at": "2025-10-19 11:00:00"
    }
  ]
}
 

1.2 注册子域名

  • 请求参数
    • subdomain:子域名前缀(字符串,必填)
    • rootdomain:根域名(字符串,必填)
  • 请求示例
 
bash
 
curl -X POST "https://api005.dnshe.com/index.php?m=domain_hub&endpoint=subdomains&action=register" \
  -H "X-API-Key: cfsd_xxxxxxxxxx" \
  -H "X-API-Secret: yyyyyyyyyyyy" \
  -H "Content-Type: application/json" \
  -d '{
    "subdomain": "myapp",
    "rootdomain": "example.com"
  }'
 
 
  • 响应示例
 
json
 
{
  "success": true,
  "message": "Subdomain registered successfully",
  "subdomain_id": 3,
  "full_domain": "myapp.example.com"
}
 

1.3 获取子域名详情

  • 请求参数subdomain_id(整数,必填)
  • 请求示例
 
bash
 
curl -X GET "https://api005.dnshe.com/index.php?m=domain_hub&endpoint=subdomains&action=get&subdomain_id=1" \
  -H "X-API-Key: cfsd_xxxxxxxxxx" \
  -H "X-API-Secret: yyyyyyyyyyyy"
 
 
  • 响应示例
 
json
 
{
  "success": true,
  "subdomain": {
    "id": 1,
    "subdomain": "test",
    "rootdomain": "example.com",
    "full_domain": "test.example.com",
    "status": "active",
    "created_at": "2025-10-19 10:00:00",
    "updated_at": "2025-10-19 10:00:00"
  },
  "dns_records": [
    {
      "id": 1,
      "name": "test.example.com",
      "type": "A",
      "content": "192.168.1.1",
      "ttl": 600,
      "priority": null,
      "status": "active",
      "created_at": "2025-10-19 10:05:00"
    }
  ],
  "dns_count": 1
}
 

1.4 删除子域名

  • 请求参数subdomain_id(整数,必填)
  • 请求示例
 
bash
 
curl -X POST "https://api005.dnshe.com/index.php?m=domain_hub&endpoint=subdomains&action=delete" \
  -H "X-API-Key: cfsd_xxxxxxxxxx" \
  -H "X-API-Secret: yyyyyyyyyyyy" \
  -H "Content-Type: application/json" \
  -d '{
    "subdomain_id": 1
  }'
 
 
  • 响应示例
 
json
 
{
  "success": true,
  "message": "Subdomain deleted successfully"
}
 

1.5 续期子域名

  • 请求参数subdomain_id(域名id,必填)
  • 请求示例
 
bash
 
curl -X POST "https://api005.dnshe.com/index.php?m=domain_hub&endpoint=subdomains&action=renew" \
-H "X-API-Key: cfsd_xxxxxxxxxx" \
-H "X-API-Secret: yyyyyyyyyyyy" \
-H "Content-Type: application/json" \
-d '{
  "subdomain_id": 3
}'
响应示例
 
json
 
{
  "success": true,
  "message": "Subdomain renewed successfully",
  "subdomain_id": 3,
  "subdomain": "myapp",
  "previous_expires_at": "2025-05-01 00:00:00",
  "new_expires_at": "2026-05-01 00:00:00",
  "renewed_at": "2025-04-10 12:34:56",
  "never_expires": 0,
  "status": "active",
  "remaining_days": 366
}
2. DNS 记录管理
操作 方法 描述
list GET 列出子域名的 DNS 记录
create POST 创建 DNS 记录
update POST/PUT 更新 DNS 记录
delete POST/DELETE 删除 DNS 记录

2.1 列出 DNS 记录

  • 请求参数subdomain_id(整数,必填)
  • 请求示例
 
bash
 
curl -X GET "https://api005.dnshe.com/index.php?m=domain_hub&endpoint=dns_records&action=list&subdomain_id=1" \
  -H "X-API-Key: cfsd_xxxxxxxxxx" \
  -H "X-API-Secret: yyyyyyyyyyyy"
 
  • 响应示例
 
json
 
 
 
 
 
{
  "success": true,
  "count": 2,
  "records": [
    {
      "id": 1,
      "name": "test.example.com",
      "type": "A",
      "content": "192.168.1.1",
      "ttl": 600,
      "priority": null,
      "proxied": false,
      "status": "active",
      "created_at": "2025-10-19 10:05:00"
    },
    {
      "id": 2,
      "name": "www.test.example.com",
      "type": "CNAME",
      "content": "test.example.com",
      "ttl": 600,
      "priority": null,
      "proxied": false,
      "status": "active",
      "created_at": "2025-10-19 10:10:00"
    }
  ]
}
 

2.2 创建 DNS 记录

  • 请求参数
    • subdomain_id:关联的子域名 ID(整数,必填)
    • type:记录类型(A/AAAA/CNAME/MX/TXT,必填)
    • content:记录值(字符串,必填)
    • name:记录名称(字符串,可选)
    • ttl:TTL 值(整数,可选,默认 600)
    • priority:优先级(整数,可选,MX 记录需要)
  • 请求示例
 
bash
curl -X POST "https://api005.dnshe.com/index.php?m=domain_hub&endpoint=dns_records&action=create" \
  -H "X-API-Key: cfsd_xxxxxxxxxx" \
  -H "X-API-Secret: yyyyyyyyyyyy" \
  -H "Content-Type: application/json" \
  -d '{
    "subdomain_id": 1,
    "type": "A",
    "content": "192.168.1.100",
    "ttl": 600
  }'
 
 
  • 响应示例
json
{
  "success": true,
  "message": "DNS record created successfully",
  "record_id": 3
}
 

2.3 更新 DNS 记录

  • 请求参数
    • record_id:DNS 记录 ID(整数,必填)
    • content:新的记录值(字符串,可选)
    • ttl:新的 TTL 值(整数,可选)
    • priority:新的优先级(整数,可选)
  • 请求示例
bash
 
curl -X POST "https://api005.dnshe.com/index.php?m=domain_hub&endpoint=dns_records&action=update" \
  -H "X-API-Key: cfsd_xxxxxxxxxx" \
  -H "X-API-Secret: yyyyyyyyyyyy" \
  -H "Content-Type: application/json" \
  -d '{
    "record_id": 1,
    "content": "192.168.1.200",
    "ttl": 600
  }'
 
 
  • 响应示例
json
{
  "success": true,
  "message": "DNS record updated successfully"
}
 

2.4 删除 DNS 记录

  • 请求参数record_id(整数,必填)
  • 请求示例
bash
 
curl -X POST "https://api005.dnshe.com/index.php?m=domain_hub&endpoint=dns_records&action=delete" \
  -H "X-API-Key: cfsd_xxxxxxxxxx" \
  -H "X-API-Secret: yyyyyyyyyyyy" \
  -H "Content-Type: application/json" \
  -d '{
    "record_id": 1
  }'
 
  • 响应示例
 
json
 
{
  "success": true,
  "message": "DNS record deleted successfully"
}
 

3. API 密钥管理

操作 方法 描述
list GET 列出所有 API 密钥
create POST 创建新 API 密钥
delete POST/DELETE 删除 API 密钥
regenerate POST 重新生成 API 密钥

3.1 列出 API 密钥

  • 请求示例
 
bash
 
curl -X GET "https://api005.dnshe.com/index.php?m=domain_hub&endpoint=keys&action=list" \
  -H "X-API-Key: cfsd_xxxxxxxxxx" \
  -H "X-API-Secret: yyyyyyyyyyyy"
 
  • 响应示例
 
json
 
{
  "success": true,
  "count": 2,
  "keys": [
    {
      "id": 1,
      "key_name": "生产环境密钥",
      "api_key": "cfsd_xxxxxxxxxx",
      "status": "active",
      "request_count": 1523,
      "last_used_at": "2025-10-19 15:30:00",
      "created_at": "2025-10-19 10:00:00"
    },
    {
      "id": 2,
      "key_name": "测试环境密钥",
      "api_key": "cfsd_yyyyyyyyyy",
      "status": "active",
      "request_count": 45,
      "last_used_at": "2025-10-19 14:00:00",
      "created_at": "2025-10-19 11:00:00"
    }
  ]
}
 

3.2 创建 API 密钥

  • 请求参数
    • key_name:密钥名称(字符串,必填)
    • ip_whitelist:IP 白名单(字符串,可选,逗号分隔)
  • 请求示例
 
bash
 
curl -X POST "https://api005.dnshe.com/index.php?m=domain_hub&endpoint=keys&action=create" \
  -H "X-API-Key: cfsd_xxxxxxxxxx" \
  -H "X-API-Secret: yyyyyyyyyyyy" \
  -H "Content-Type: application/json" \
  -d '{
    "key_name": "新密钥",
    "ip_whitelist": "192.168.1.1,192.168.1.2"
  }'
 
 
  • 响应示例
 
json
 
{
  "success": true,
  "message": "API key created successfully",
  "api_key": "cfsd_zzzzzzzzzz",
  "api_secret": "aaaaaaaaaaaaaaaa",
  "warning": "Please save the api_secret, it will not be shown again"
}
 

3.3 删除 API 密钥

  • 请求参数key_id(整数,必填)
  • 请求示例
 
bash
 
curl -X POST "https://api005.dnshe.com/index.php?m=domain_hub&endpoint=keys&action=delete" \
  -H "X-API-Key: cfsd_xxxxxxxxxx" \
  -H "X-API-Secret: yyyyyyyyyyyy" \
  -H "Content-Type: application/json" \
  -d '{
    "key_id": 2
  }'
 
  • 响应示例
 
json
 
 
{
  "success": true,
  "message": "API key deleted successfully"
}
 

3.4 重新生成 API 密钥

  • 请求参数key_id(整数,必填)
  • 请求示例
 
bash
 
curl -X POST "https://api005.dnshe.com/index.php?m=domain_hub&endpoint=keys&action=regenerate" \
  -H "X-API-Key: cfsd_xxxxxxxxxx" \
  -H "X-API-Secret: yyyyyyyyyyyy" \
  -H "Content-Type: application/json" \
  -d '{
    "key_id": 1
  }'
 
  • 响应示例
 
json
 
 
{
  "success": true,
  "message": "API secret regenerated successfully",
  "api_key": "cfsd_xxxxxxxxxx",
  "api_secret": "new_secret_here",
  "warning": "Please save the new api_secret, it will not be shown again"
}
 

4. 配额查询

  • 端点quota
  • 方法GET
  • 请求示例
 
bash
 
 
curl -X GET "https://api005.dnshe.com/index.php?m=domain_hub&endpoint=quota" \
  -H "X-API-Key: cfsd_xxxxxxxxxx" \
  -H "X-API-Secret: yyyyyyyyyyyy"
 
 
  • 响应示例
 
json
 
 
{
  "success": true,
  "quota": {
    "used": 3,
    "base": 5,
    "invite_bonus": 2,
    "total": 7,
    "available": 4
  }
}
 

四、错误处理

常见 HTTP 状态码

状态码 说明
200 请求成功
400 请求参数错误
401 认证失败
403 权限不足或功能禁用
404 资源不存在
429 请求频率超限
500 服务器内部错误

错误响应示例

json
 
 
 
{
  "error": "Invalid API key"
}
 

五、速率限制

  • 默认限制:60 请求 / 分钟
  • 超限响应示例:
 
json
 
 
{
  "error": "Rate limit exceeded",
  "limit": 60,
  "remaining": 0,
  "reset_at": "2025-10-19 15:31:00"
}
 

六、SDK 示例

PHP 示例

php
 
 
<?php
class CloudflareSubdomainAPI {
    private $baseUrl;
    private $apiKey;
    private $apiSecret;
    
    public function __construct($baseUrl, $apiKey, $apiSecret) {
        $this->baseUrl = rtrim($baseUrl, '/');
        $this->apiKey = $apiKey;
        $this->apiSecret = $apiSecret;
    }
    
    private function request($endpoint, $action, $method = 'GET', $data = []) {
        $url = $this->baseUrl . '?m=domain_hub&endpoint=' . $endpoint . '&action=' . $action;
        
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_HTTPHEADER, [
            'X-API-Key: ' . $this->apiKey,
            'X-API-Secret: ' . $this->apiSecret,
            'Content-Type: application/json'
        ]);
        
        if ($method === 'POST') {
            curl_setopt($ch, CURLOPT_POST, true);
            curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
        }
        
        $response = curl_exec($ch);
        $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        curl_close($ch);
        
        return json_decode($response, true);
    }
    
    // 列出子域名
    public function listSubdomains() {
        return $this->request('subdomains', 'list', 'GET');
    }
    
    // 注册子域名
    public function registerSubdomain($subdomain, $rootdomain) {
        return $this->request('subdomains', 'register', 'POST', [
            'subdomain' => $subdomain,
            'rootdomain' => $rootdomain
        ]);
    }
    
    // 创建DNS记录
    public function createDnsRecord($subdomainId, $type, $content, $ttl = 120) {
        return $this->request('dns_records', 'create', 'POST', [
            'subdomain_id' => $subdomainId,
            'type' => 

七、安全建议

  1. 不在客户端硬编码密钥,使用环境变量存储
  2. 为生产密钥配置 IP 白名单
  3. 遵循最小权限原则,定期轮换密钥
  4. 始终通过 HTTPS 调用 API
  5. 监控异常请求模式

八、常见问题

  • 密钥丢失可通过regenerate操作重新生成
  • 速率限制可联系管理员调整
  • 仅主账户可创建和使用 API 密钥
  • 目前不支持批量操作
  • 可在客户区 "API 管理" 查看使用统计
  • 免费域名, api, freedomain, 免费域名api
  • 11 用户发现这个很有用
此文章对您是否有帮助?

相关文章

DNSHE 免费域名续期与 API 续期使用方法

本文档指导如何通过 DNSHE 控制台或 API 接口,对即将到期的免费域名进行手动或自动化续期。 一、 核心续期规则 续期窗口:域名到期前 180 天 开启。...

DNSHE免费域名API使用文档(V2.0)

DNSHE免费域名API使用文档(V2.0) 基本信息 API地址:`https://api005.dnshe.com/index.php?m=domain_hub` 认证方式:API...