ws01博客 - 解析
type: channel
link: https://boke.ndjp.net/index.php/tag/%E8%A7%A3%E6%9E%90/
items: 一键编辑删除cloudflare的DNS解析记录

一键编辑删除cloudflare的DNS解析记录
type: item
date: 2024-08-15T00:36:00+00:00
description: 一键编辑删除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 运行，等待执行完成即可。