Cloudflare API 实战指南:DNS 管理、缓存清理与自动化命令大全
Cloudflare API接口调用教程|附完整命令
Cloudflare 是目前非常常用的 CDN、DNS、WAF 和边缘安全服务平台。对于个人站长、开发者、运维工程师来说,除了在 Cloudflare 控制台中手动配置域名、DNS 解析、缓存规则、防火墙规则之外,更高效的方式是通过 Cloudflare API 进行自动化管理。
例如,你可以通过 API 完成以下操作:
- 自动查询域名 Zone ID;
- 自动添加、修改、删除 DNS 解析记录;
- 批量清理 Cloudflare 缓存;
- 查询账号信息;
- 查询 DNS 记录;
- 自动更新动态 IP;
- 在 CI/CD 流程中发布后自动刷新 CDN 缓存;
- 编写脚本统一管理多个域名。
本文将以实用为主,详细介绍 Cloudflare API 的调用方式,并附上完整 curl 命令示例,方便你直接复制使用。
一、Cloudflare API 简介
Cloudflare API 是 Cloudflare 官方提供的 HTTP 接口,开发者可以通过 REST API 的方式管理账号、域名、DNS、缓存、防火墙、规则集等资源。
Cloudflare API 的基础地址为:
https://api.cloudflare.com/client/v4
大多数接口都遵循以下格式:
https://api.cloudflare.com/client/v4/资源路径
例如:
https://api.cloudflare.com/client/v4/zones
用于查询当前账号下的域名区域信息。
Cloudflare API 返回的数据通常是 JSON 格式,标准返回结构大致如下:
{
"success": true,
"errors": [],
"messages": [],
"result": {}
}
其中:
| 字段 | 说明 |
|---|---|
success |
请求是否成功 |
errors |
错误信息 |
messages |
提示信息 |
result |
实际返回的数据 |
二、调用 Cloudflare API 前的准备工作
在正式调用 API 之前,需要准备以下内容:
- Cloudflare 账号;
- 已接入 Cloudflare 的域名;
- API Token;
- 本地终端环境;
curl命令工具;- 可选:
jqJSON 解析工具。
三、创建 Cloudflare API Token
Cloudflare API 支持两种认证方式:
- Global API Key;
- API Token。
现在更推荐使用 API Token,因为它可以精细控制权限,安全性更高。
1. 登录 Cloudflare 控制台
访问:
https://dash.cloudflare.com/
登录你的 Cloudflare 账号。
2. 进入 API Token 页面
点击右上角头像,进入:
My Profile > API Tokens
或者直接访问:
https://dash.cloudflare.com/profile/api-tokens
3. 创建 Token
点击:
Create Token
Cloudflare 提供了一些模板。常见场景可以使用以下模板:
- Edit zone DNS:用于管理 DNS;
- Purge Cache:用于清理缓存;
- Read all resources:用于只读查询。
如果你希望自己创建权限,可以选择:
Create Custom Token
四、推荐的 API Token 权限配置
如果你只是想管理某个域名的 DNS,可以设置如下权限:
Permissions:
Zone - DNS - Edit
Zone - Zone - Read
Zone Resources:
Include - Specific zone - example.com
如果你想清理缓存,可以设置:
Permissions:
Zone - Cache Purge - Purge
Zone - Zone - Read
Zone Resources:
Include - Specific zone - example.com
如果你既要管理 DNS,又要清理缓存,可以组合权限:
Zone - DNS - Edit
Zone - Zone - Read
Zone - Cache Purge - Purge
建议:不要随便给 Token 分配过大的权限,也不要使用 Global API Key 写在脚本中。API Token 一旦泄露,可能导致域名解析被篡改或缓存被恶意清理。
五、设置环境变量
为了避免每条命令都重复写 Token,可以先在终端中设置环境变量。
假设你的 API Token 是:
你的_API_TOKEN
可以执行:
export CF_API_TOKEN="你的_API_TOKEN"
如果你的域名是:
example.com
可以设置:
export CF_DOMAIN="example.com"
之后命令中就可以直接引用:
$CF_API_TOKEN
$CF_DOMAIN
如果你想长期保存,可以把它写入 ~/.bashrc、~/.zshrc 或服务器的环境变量配置中。
例如使用 Zsh:
echo 'export CF_API_TOKEN="你的_API_TOKEN"' >> ~/.zshrc
echo 'export CF_DOMAIN="example.com"' >> ~/.zshrc
source ~/.zshrc
使用 Bash:
echo 'export CF_API_TOKEN="你的_API_TOKEN"' >> ~/.bashrc
echo 'export CF_DOMAIN="example.com"' >> ~/.bashrc
source ~/.bashrc
六、测试 API Token 是否可用
创建 Token 后,建议先验证一下是否有效。
完整命令如下:
curl -X GET "https://api.cloudflare.com/client/v4/user/tokens/verify" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json"
如果 Token 有效,会返回类似结果:
{
"result": {
"id": "xxxxxxxxxxxxxxxx",
"status": "active"
},
"success": true,
"errors": [],
"messages": [
{
"code": 10000,
"message": "This API Token is valid and active"
}
]
}
其中:
"success": true
表示 Token 验证成功。
七、查询 Cloudflare 账号信息
有些接口需要 account_id,可以通过以下接口查询账号信息。
curl -X GET "https://api.cloudflare.com/client/v4/accounts" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json"
返回结果中会包含账号 ID:
{
"result": [
{
"id": "你的_ACCOUNT_ID",
"name": "your-account"
}
],
"success": true
}
也可以配合 jq 提取:
curl -s -X GET "https://api.cloudflare.com/client/v4/accounts" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" | jq -r '.result[0].id'
设置为环境变量:
export CF_ACCOUNT_ID="$(curl -s -X GET "https://api.cloudflare.com/client/v4/accounts" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" | jq -r '.result[0].id')"
查看是否设置成功:
echo $CF_ACCOUNT_ID
八、查询域名 Zone ID
Cloudflare 中每个接入的域名都有一个唯一的 Zone ID。很多接口都需要这个参数,比如 DNS 管理、缓存清理等。
查询指定域名的 Zone ID:
curl -X GET "https://api.cloudflare.com/client/v4/zones?name=$CF_DOMAIN" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json"
返回结果示例:
{
"result": [
{
"id": "你的_ZONE_ID",
"name": "example.com",
"status": "active"
}
],
"success": true
}
使用 jq 直接提取 Zone ID:
curl -s -X GET "https://api.cloudflare.com/client/v4/zones?name=$CF_DOMAIN" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" | jq -r '.result[0].id'
设置为环境变量:
export CF_ZONE_ID="$(curl -s -X GET "https://api.cloudflare.com/client/v4/zones?name=$CF_DOMAIN" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" | jq -r '.result[0].id')"
检查:
echo $CF_ZONE_ID
如果输出一串类似下面的字符串,说明成功:
023e105f4ecef8ad9ca31a8372d0c353
九、查询域名下所有 DNS 记录
获取指定 Zone 下的全部 DNS 记录:
curl -X GET "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json"
如果 DNS 记录较多,可以指定分页参数:
curl -X GET "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records?page=1&per_page=100" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json"
使用 jq 查看简洁结果:
curl -s -X GET "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records?page=1&per_page=100" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" | jq -r '.result[] | "\(.type)\t\(.name)\t\(.content)\tproxied=\(.proxied)\tid=\(.id)"'
输出示例:
A example.com 1.2.3.4 proxied=true id=xxxx
CNAME www.example.com example.com proxied=true id=yyyy
TXT example.com v=spf1 ... proxied=false id=zzzz
十、查询指定 DNS 记录
比如你想查询:
www.example.com
可以执行:
export CF_RECORD_NAME="www.$CF_DOMAIN"
然后查询:
curl -X GET "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records?name=$CF_RECORD_NAME" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json"
提取 DNS Record ID:
export CF_RECORD_ID="$(curl -s -X GET "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records?name=$CF_RECORD_NAME" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" | jq -r '.result[0].id')"
检查:
echo $CF_RECORD_ID
DNS Record ID 在更新、删除 DNS 记录时非常重要。
十一、添加 A 记录
假设你要添加一条 A 记录:
| 字段 | 值 |
|---|---|
| 类型 | A |
| 主机名 | test.example.com |
| IP | 1.2.3.4 |
| 是否开启代理 | true |
| TTL | 自动 |
先设置变量:
export CF_RECORD_NAME="test.$CF_DOMAIN"
export CF_RECORD_CONTENT="1.2.3.4"
完整添加命令:
curl -X POST "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" \
--data '{
"type": "A",
"name": "'"$CF_RECORD_NAME"'",
"content": "'"$CF_RECORD_CONTENT"'",
"ttl": 1,
"proxied": true
}'
参数说明:
| 参数 | 说明 |
|---|---|
type |
DNS 记录类型,例如 A、AAAA、CNAME、TXT |
name |
记录名称 |
content |
记录值 |
ttl |
TTL,1 表示自动 |
proxied |
是否开启 Cloudflare 代理 |
注意:只有 A、AAAA、CNAME 等部分记录支持
proxied。
十二、添加 CNAME 记录
例如要添加:
blog.example.com CNAME example.com
命令如下:
curl -X POST "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" \
--data '{
"type": "CNAME",
"name": "blog.'"$CF_DOMAIN"'",
"content": "'"$CF_DOMAIN"'",
"ttl": 1,
"proxied": true
}'
如果只是做验证用途,不希望走 Cloudflare CDN,可以设置:
"proxied": false
十三、添加 TXT 记录
TXT 记录常用于域名验证、SPF、DKIM、DMARC 等场景。
例如添加一条验证记录:
curl -X POST "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" \
--data '{
"type": "TXT",
"name": "_verify.'"$CF_DOMAIN"'",
"content": "cloudflare-api-demo-verification",
"ttl": 1
}'
添加 SPF 记录示例:
curl -X POST "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" \
--data '{
"type": "TXT",
"name": "'"$CF_DOMAIN"'",
"content": "v=spf1 include:_spf.example.com ~all",
"ttl": 1
}'
十四、更新 DNS 记录
更新 DNS 记录需要知道 record_id。
假设你要把:
test.example.com
的 A 记录 IP 从:
1.2.3.4
改成:
5.6.7.8
先查询 Record ID:
export CF_RECORD_NAME="test.$CF_DOMAIN"
export CF_RECORD_ID="$(curl -s -X GET "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records?type=A&name=$CF_RECORD_NAME" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" | jq -r '.result[0].id')"
然后更新:
curl -X PUT "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records/$CF_RECORD_ID" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" \
--data '{
"type": "A",
"name": "'"$CF_RECORD_NAME"'",
"content": "5.6.7.8",
"ttl": 1,
"proxied": true
}'
这里使用的是 PUT,表示整体更新该 DNS 记录。
如果只想修改部分字段,也可以使用 PATCH,例如只修改 IP:
curl -X PATCH "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records/$CF_RECORD_ID" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" \
--data '{
"content": "5.6.7.8"
}'
十五、删除 DNS 记录
删除 DNS 记录同样需要 Record ID。
先查询:
export CF_RECORD_NAME="test.$CF_DOMAIN"
export CF_RECORD_ID="$(curl -s -X GET "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records?name=$CF_RECORD_NAME" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" | jq -r '.result[0].id')"
删除命令:
curl -X DELETE "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records/$CF_RECORD_ID" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json"
删除成功后通常返回:
{
"result": {
"id": "被删除的_RECORD_ID"
},
"success": true,
"errors": [],
"messages": []
}
提醒:删除 DNS 记录前一定要确认 Record ID,避免误删生产环境解析。
十六、清理 Cloudflare 缓存
Cloudflare API 的另一个常见用途是清理缓存,尤其是在发布网站、更新静态资源、部署前端项目之后。
1. 清理整个域名缓存
完整命令:
curl -X POST "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/purge_cache" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" \
--data '{
"purge_everything": true
}'
该命令会清理整个 Zone 的缓存。
注意:全站清理缓存会导致短时间内回源增加,不建议频繁执行。
2. 清理指定 URL 缓存
例如只清理以下文件:
https://www.example.com/index.html
https://www.example.com/assets/app.js
命令如下:
curl -X POST "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/purge_cache" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" \
--data '{
"files": [
"https://www.'"$CF_DOMAIN"'/index.html",
"https://www.'"$CF_DOMAIN"'/assets/app.js"
]
}'
相比全站清理,指定 URL 清理更加精准,适合自动化部署流程。
3. 按 Cache-Tag 清理缓存
如果你使用了 Enterprise 或支持 Cache-Tag 的方案,可以通过标签清理:
curl -X POST "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/purge_cache" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" \
--data '{
"tags": [
"article",
"homepage"
]
}'
十七、动态 DNS 自动更新脚本
很多家庭宽带或小型服务器没有固定公网 IP,这时可以通过 Cloudflare API 实现 DDNS 自动更新。
下面是一个完整 Bash 脚本,用于自动检测当前公网 IP,并更新指定 A 记录。
新建文件:
nano cloudflare-ddns.sh
写入以下内容:
#!/usr/bin/env bash
set -e
CF_API_TOKEN="你的_API_TOKEN"
CF_DOMAIN="example.com"
CF_RECORD_NAME="home.example.com"
CURRENT_IP="$(curl -s https://api.ipify.org)"
CF_ZONE_ID="$(curl -s -X GET "https://api.cloudflare.com/client/v4/zones?name=$CF_DOMAIN" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" | jq -r '.result[0].id')"
CF_RECORD_ID="$(curl -s -X GET "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records?type=A&name=$CF_RECORD_NAME" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" | jq -r '.result[0].id')"
OLD_IP="$(curl -s -X GET "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records/$CF_RECORD_ID" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" | jq -r '.result.content')"
echo "当前公网 IP:$CURRENT_IP"
echo "Cloudflare DNS IP:$OLD_IP"
if [ "$CURRENT_IP" = "$OLD_IP" ]; then
echo "IP 未变化,无需更新。"
exit 0
fi
echo "IP 已变化,开始更新 DNS..."
curl -s -X PUT "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records/$CF_RECORD_ID" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" \
--data '{
"type": "A",
"name": "'"$CF_RECORD_NAME"'",
"content": "'"$CURRENT_IP"'",
"ttl": 1,
"proxied": false
}' | jq
echo "更新完成。"
赋予执行权限:
chmod +x cloudflare-ddns.sh
执行:
./cloudflare-ddns.sh
如果要定时执行,可以加入 crontab:
crontab -e
每 5 分钟执行一次:
*/5 * * * * /path/to/cloudflare-ddns.sh >> /var/log/cloudflare-ddns.log 2>&1
十八、CI/CD 中自动清理缓存
如果你使用 GitHub Actions、GitLab CI、Jenkins 或其他部署工具,可以在部署完成后调用 Cloudflare API 清理缓存。
下面以普通 Shell 命令为例:
curl -X POST "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/purge_cache" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" \
--data '{
"files": [
"https://www.example.com/",
"https://www.example.com/index.html"
]
}'
在 GitHub Actions 中,建议把以下值放入 Secrets:
CF_API_TOKEN
CF_ZONE_ID
示例步骤:
- name: Purge Cloudflare Cache
run: |
curl -X POST "https://api.cloudflare.com/client/v4/zones/${{ secrets.CF_ZONE_ID }}/purge_cache" \
-H "Authorization: Bearer ${{ secrets.CF_API_TOKEN }}" \
-H "Content-Type: application/json" \
--data '{
"purge_everything": true
}'
生产环境中更建议只清理指定 URL,而不是每次都清理全站缓存。
十九、常见错误与解决方法
1. 返回 success: false
如果返回:
{
"success": false
}
需要查看 errors 字段。
例如:
"errors": [
{
"code": 9109,
"message": "Invalid access token"
}
]
通常表示 Token 无效或过期。
解决方法:
- 检查 Token 是否复制完整;
- 检查请求头是否正确;
- 重新生成 API Token。
2. 权限不足
错误示例:
{
"code": 9103,
"message": "Unknown X-Auth-Key or X-Auth-Email"
}
或:
{
"message": "Actor does not have permission"
}
解决方法:
- 检查 API Token 权限;
- 确认是否包含
Zone - DNS - Edit; - 确认是否包含
Zone - Zone - Read; - 确认 Token 是否绑定了正确的域名 Zone。
3. Zone ID 为空
如果执行:
echo $CF_ZONE_ID
没有任何输出,通常原因是:
- 域名变量写错;
- 该域名没有接入当前 Cloudflare 账号;
- API Token 没有读取该 Zone 的权限。
可以检查:
echo $CF_DOMAIN
并重新执行:
curl -X GET "https://api.cloudflare.com/client/v4/zones?name=$CF_DOMAIN" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json"
4. DNS 记录 ID 为空
如果:
echo $CF_RECORD_ID
为空,说明没有匹配到对应记录。
建议增加 type 条件查询:
curl -X GET "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records?type=A&name=$CF_RECORD_NAME" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json"
同时注意:
test.example.com
和:
example.com
是不同记录。
5. JSON 格式错误
如果返回 JSON 解析错误,通常是 --data 中引号写错。
建议使用以下格式:
--data '{
"type": "A",
"name": "'"$CF_RECORD_NAME"'",
"content": "'"$CF_RECORD_CONTENT"'",
"ttl": 1,
"proxied": true
}'
这种写法可以在单引号 JSON 中安全插入 Bash 变量。
二十、Cloudflare API 调用最佳实践
1. 优先使用 API Token
不要优先使用 Global API Key。API Token 可以限制权限和资源范围,更适合自动化脚本。
2. 最小权限原则
只给脚本需要的权限。例如 DDNS 脚本只需要:
Zone - DNS - Edit
Zone - Zone - Read
不需要账号全局管理权限。
3. 不要把 Token 写入公开仓库
尤其是 GitHub、Gitee、GitLab 公开仓库。建议使用:
- 环境变量;
- GitHub Secrets;
- CI/CD Secret Variables;
- 服务器密钥管理工具。
4. 脚本中加入结果校验
例如判断:
success=true
再继续下一步,避免接口调用失败却误以为成功。
5. 避免频繁全站清理缓存
全站清缓存会增加源站压力,也会降低缓存命中率。建议优先清理指定文件或 URL。
6. 记录日志
自动化脚本建议将执行结果写入日志,方便排查问题:
./cloudflare-ddns.sh >> /var/log/cloudflare-ddns.log 2>&1
二十一、完整初始化命令汇总
下面是一组从零开始的常用命令汇总。
设置 Token 和域名:
export CF_API_TOKEN="你的_API_TOKEN"
export CF_DOMAIN="example.com"
验证 Token:
curl -X GET "https://api.cloudflare.com/client/v4/user/tokens/verify" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json"
获取 Zone ID:
export CF_ZONE_ID="$(curl -s -X GET "https://api.cloudflare.com/client/v4/zones?name=$CF_DOMAIN" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" | jq -r '.result[0].id')"
查看 Zone ID:
echo $CF_ZONE_ID
列出 DNS 记录:
curl -s -X GET "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records?page=1&per_page=100" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" | jq
添加 A 记录:
curl -X POST "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" \
--data '{
"type": "A",
"name": "test.'"$CF_DOMAIN"'",
"content": "1.2.3.4",
"ttl": 1,
"proxied": true
}'
清理全站缓存:
curl -X POST "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/purge_cache" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" \
--data '{
"purge_everything": true
}'
结语
Cloudflare API 非常适合用于自动化运维和批量管理。通过本文中的命令,你已经可以完成 API Token 验证、账号查询、Zone ID 获取、DNS 记录查询、添加、更新、删除,以及缓存清理等常见操作。
实际使用中,建议你把 Token、Zone ID、域名等信息通过环境变量或密钥管理工具保存,并遵循最小权限原则。对于生产环境,尤其要谨慎执行删除 DNS、全站清理缓存等操作。
如果只是日常站点部署,最常用的组合通常是:
获取 Zone ID + 查询 DNS 记录 + 更新 DNS + 清理指定 URL 缓存
掌握这些 API 调用方式后,你就可以把 Cloudflare 集成到自己的自动化脚本、监控系统和 CI/CD 流程中,大幅提升域名和 CDN 管理效率。