for record in data['result']:
record_id = record['id']
delete_url = f'https://api.cloudflare.com/client/v4/zones/{zone_id}/dns_records/{record_id}'
requests.delete(delete_url, headers=headers)
print(f'Deleted DNS record: {record["name"]} ({record["type"]})')
if data['result_info']['count'] > 50:
recursive_delete_records(zone_id) # 继续递归删除
if name == "main":
zone_id = get_zone_id()
recursive_delete_records(zone_id)
可以看看官方 API,写个过滤器把不要的全删了
用chatgpt写的一个脚本
Cloudflare API 一次只能删除有限数量的解析记录。以下是一个更新后的脚本,它将递归删除所有解析记录,以处理删除超过 50 个记录的情况。
此脚本将递归删除所有 DNS 解析记录,直到没有剩余的记录为止,以处理大量记录的情况。
import requests
设置您的 Cloudflare API 密钥和邮箱
api_key = 'YOUR_API_KEY'
email = 'YOUR_EMAIL'
设置您的域名
domain_name = 'example.com'
设置 Cloudflare 请求头
headers = {
'X-Auth-Email': email,
'X-Auth-Key': api_key,
'Content-Type': 'application/json'
}
获取域名的 Zone ID
def get_zone_id():
url = f'https://api.cloudflare.com/client/v4/zones?name={domain_name}'
response = requests.get(url, headers=headers)
data = response.json()
return data['result'][0]['id']
删除指定域名的所有 DNS 解析记录
主要函数,递归删除所有解析记录
def recursive_delete_records(zone_id):
url = f'https://api.cloudflare.com/client/v4/zones/{zone_id}/dns_records'
response = requests.get(url, headers=headers)
data = response.json()
if name == "main":
zone_id = get_zone_id()
recursive_delete_records(zone_id)
为什么不把图直接扔论坛上呢?给老板省空间?
悲伤的故事
@tanglu #2 你的dd脚本记录帖子有个错误,dogeyun错了,应该是dogyun
遇到过同类问题,之前是用 www.mnn.tw 的面板批量删除的
好的,谢谢
用这个程序即可
https://github.com/Cyb3r-Jak3/cloudflare-utils
文档
https://cloudflare-utils.cyberjake.xyz/
Windows 下使用方法
@ddone #13
论坛有官方图床了吗?
补图