VPS GO很多域名都放在Cloudflare解析,方便统一管理。今天给大家分享一个Cloudflare API的使用教程,通用Python代码实现动态修改域名DNS记录,指向目标IP地址。
一、Cloudflare API申请
首先要确保我们的域名已经通过Cloudflare解析了,设置教程可以参考之前的说明:
之后需要申请一个Cloudflare API Tokens,申请地址:https://dash.cloudflare.com/profile/api-tokens
授予修改DNS的权限:

之后是找到域名的Zone ID,Cloudflare Zone ID是每个域名都不一样的,在域名首页可以看到:

二、Cloudflare DNS记录动态
直接分享Python代码,分为两步:先获取域名DNS记录的ID,再通过ID修改解析记录,这里以A记录为例。
1、获取DNS记录的id
dns_name即解析的域名地址,如www.vpsgo.com
def get_record_id(dns_name, zone_id, token):
resp = requests.get(
'https://api.cloudflare.com/client/v4/zones/{}/dns_records'.format(zone_id),
headers={
'Authorization': 'Bearer ' + token,
'Content-Type': 'application/json'
})
if not json.loads(resp.text)['success']:
return None
domains = json.loads(resp.text)['result']
for domain in domains:
if dns_name == domain['name']:
return domain['id']
return None
2、更新此 DNS 记录
dns_id就是上一步获取的id,ip是需要解析至的目标ip,proxied就是是否开启Cloudflare CDN
def update_dns_record(dns_name, zone_id, token, dns_id, ip, proxied=False):
resp = requests.put(
'https://api.cloudflare.com/client/v4/zones/{}/dns_records/{}'.format(
zone_id, dns_id),
json={
'type': 'A',
'name': dns_name,
'content': ip,
'proxied': proxied
},
headers={
'Authorization': 'Bearer ' + token,
'Content-Type': 'application/json'
})
if not json.loads(resp.text)['success']:
return False
return True
以上就是VPS GO(www.vpsgo.com)分享的Python使用Cloudflare API动态修改域名DNS记录的教程了,还是非常简答方便的。
如果你需要便宜域名,可以参考:
关于便宜域名的推荐以及域名解析教程的分享,可以参考本站之前的教程:
- NameSilo 1美元优惠码:《NameSilo优惠码使用与注册教程,支持支付宝》
- Dynadot 新用户5美元优惠:《5美元Dynadot优惠码分享:.com域名首年$6.99/免费隐私保护》
- 解析设置教程:《域名解析教程:Cloudflare解析与DNSPod解析》