使用Cloudflare API动态修改域名DNS记录教程(Python代码)

2 二、Cloudflare DNS记录动态

本站很多域名都放在Cloudflare解析,方便统一管理。今天给大家分享一个Cloudflare API的使用教程,通用Python代码实现动态修改域名DNS记录,指向目标IP地址。

一、Cloudflare API申请

首先要确保我们的域名已经通过Cloudflare解析了,设置教程可以参考之前的说明:

  • 《域名解析教程:Cloudflare解析与DNSPod解析》

之后需要申请一个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

以上就是本站(www.vpsgo.com)分享的Python使用Cloudflare API动态修改域名DNS记录的教程了,还是非常简答方便的。

如果你需要便宜域名,可以参考:

关于便宜域名的推荐以及域名解析教程的分享,可以参考本站之前的教程:

  • NameSilo 1美刀优惠码:《NameSilo优惠码使用与注册教程,支持支付宝》
  • Dynadot 新用户5美刀优惠:《5美刀Dynadot优惠码分享:.com域名首年$6.99/免费隐私保护》
  • 解析设置教程:《域名解析教程:Cloudflare解析与DNSPod解析》

推荐站内搜索:免费云服务器、备案查询网、查域名、la域名、pw域名、免费虚拟空间、国内php空间、国内免备案服务器、阿里云域名注册入口、服务器租用美国高防、