关于在 cloudflare 通过api 更新域名解析记录
首先介绍一下 cloudflare :CloudFlare提供的安全服务是帮助网站阻止来自网络的黑客攻击、垃圾邮件等,并提升网页的浏览速度,这和一般的安全软件往往会影响网页的运行速度大相径庭。目前CloudFlare在全球拥有23个数据中心,如果用户使用了其服务,那么网络流量将通过CloudFlare的全球网络智能路由。CloudFlare会自动优化用户的网页交付,以期达到最快的页面加载时间以及最佳性能。CloudFlare提供包括CDN、优化工具、安全、分析以及应用等服务。
我之所以选择cloudflare 是更新域名的解析记录后 cloudflare的刷新时间 只有一分钟左右 速度 十分快 用来部署 邮件服务器或者做一些其他功能 比如 adsl主机拨号 效果是非常好的
下面贴代码 :
这里是 在thinkphp5下载的代码 大家借鉴的话 可以看着修改
$result=Db::name('task')->where('id','1')->find(); $time=strtotime($result['time']); $count=$result['count']; // echo $time; if(time()-$time>7200){ $count=$count+1; Db::name('task')->where('id','1')->update(['count' => $count]); $ipresult= Db::name('serverip')->where('id','GT','0')->order('time')->find();//查询可用邮件服务器 $ipcount=$ipresult['count']+1; Db::name('serverip')->where('id',$ipresult['id'])->update(['count' =>$ipcount]); $headers = array( 'X-Auth-Email:dr_cayman@163.com', 'X-Auth-Key:你的key值 在cloudflare 用户中心可以找到', 'Content-Type:application/json' ); $url='https://api.cloudflare.com/client/v4/zones?name=你的域名'; $result=curget($url,$headers); $result=json_decode($result,TRUE); $zidentifier=$result['result'][0]['id']; $url="https://api.cloudflare.com/client/v4/zones/".$zidentifier."/dns_records?type=A&name=mxmail.gmailweb.net&page=1&per_page=20&order=type&direction=desc&match=all"; $result=curget($url,$headers); $result=json_decode($result,TRUE); $ridentifier=$result['result'][0]['id']; $url="https://api.cloudflare.com/client/v4/zones/".$zidentifier."/dns_records/".$ridentifier; $post_data['type']='A'; $post_data['name']='你的域名; $post_data['content']=$ipresult['ip']; $post_data['ttl']=1; $post_data['proxied']=false; $result=curlrequest($url,json_encode($post_data),$headers); echo $ipresult['ip']; }else{ echo "time"; }