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解析》