一键编辑删除cloudflare的DNS解析记录

由于 Cloudflare 的控制台没有批量删除解析的功能,一条一条删很麻烦。不过我们可以通过 Cloudflare 的 API 功能来实现批量删除解析,准确地讲是全部删除,目前还不能实现删除指定的解析。
打开 用户 API 令牌 页面,点击 创建令牌 。
然后点击 编辑区域 DNS 后的 使用模板 按钮。
接着在 特定区域 右侧的下拉列表列表中选择你需要批量删除解析的域名。
翻到网页底部,点击 继续以显示摘要。接着点击 创建令牌。
复制虚线框内的令牌,保存备用。
打开域名的概述页,下拉网页,在右下角找到 区域 ID。
一、下面介绍第一种网页在线工具解决(不推荐,一页删除50条);
梦牛网络注册并登录

二、下面介绍第二种脚本方法解决 (推荐)

注意:脚本会删除指定域名的所有解析!
请将以下的 替换为你之前创建的 API 令牌,将 替换为域名的区域 ID。
如果你使用 Windows 系统,请使用以下 PowerShell 脚本。
使用方法一:Windows 系统;

$API_TOKEN = "你的 API 令牌"
$ZONE_ID = "域名的区域 ID"

$baseUrl = "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records"

$headers = @{
'Authorization' = "Bearer $API_TOKEN"
'Content-Type' = "application/json"
}

$listUrl = $baseUrl + '?per_page=500'
Write-Host $listUrl
$records = Invoke-RestMethod -Uri $listUrl -Method 'GET' -Headers $headers
$records = $records | Select-Object -ExpandProperty result

foreach ($record in $records) {
Write-Host "Deleting $($record.name) that points to $($record.content)"

$deleteUrl = $baseUrl + '/' + $record.id
Invoke-RestMethod -Uri $deleteUrl -Method 'DELETE' -Headers $headers
Write-Host $deleteUrl
}

首先将脚本中的 替换为你之前创建的 API 令牌,将 替换为域名的区域 ID。
然后右键脚本,点击 使用 PowerShell 运行,等待执行完成即可。

01

发表评论

您是第 25217 位访客