赞
踩
- <!--
- 注释:DnsPod.com域名解析接口封装(支持群晖DDNS接口)
- 作者:豌豆豆
- 邮箱:613520823@qq.com
- -->
-
- <!-- 这里是群晖的设置连接需要的地址,也可以浏览器里手动请求,需要把192.168.10.2改成自己的服务器地址
- 需要在服务器PHP开启Curl支持
- http://192.168.10.2/DDNS_DNSPOD_UpDate.php?UserName=__USERNAME__&PassWord=__PASSWORD__&HostName=__HOSTNAME__&IpAddress=__MYIP__ -->
-
- <?php
- //post请求
- function RunPost($Url, $PostParameter){
- $curl = curl_init(); // 启动一个CURL会话
- curl_setopt($curl, CURLOPT_URL,$Url); // 要访问的地址
- curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
- curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在
- curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
- curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
- curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
- curl_setopt($curl, CURLOPT_POSTFIELDS, $PostParameter); // Post提交的数据包
- curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环
- curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
- curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
- $tmpInfo = curl_exec($curl); // 执行操作
-
- if (curl_errno($curl)) {
- echo 'Errno'.curl_error($curl); //捕抓异常
- curl_close($curl); // 关闭CURL会话
- header('HTTP/1.1 412 Not Found');
- echo "请检查参数配置,或联系作者!";
- exie();
- }
- curl_close($curl); // 关闭CURL会话
- return $tmpInfo; // 返回数据,json格式
- }
- //拼接Post字符串
- function GetParameterStr($ParameterArray){
- ksort($ParameterArray);
- $returnStr="";
- foreach ($ParameterArray as $key=>$value)
- {
- $returnStr .= $key;
- $returnStr .= "=";
- $returnStr .= $value;
- $returnStr .= "&";
- }
- unset($key, $value);
- $returnStr = substr($returnStr,0,strlen($returnStr)-1);
- return $returnStr;
- }
- //获取群晖传递过来的参数
- $UUserName=$_GET["UserName"];
- $UPassWord=$_GET["PassWord"];
- $UHostName=$_GET["HostName"];
- $UIpAddress=$_GET["IpAddress"];
- //赋值参数
- $Url="";
- $login_token=$UUserName.",".$UPassWord;
- $format="json";
- $domain=$UHostName;
- $record_id="0";
- $value=$UIpAddress;
- $record_type="A";
- $record_line_id="0";
- $sub_domain="";
- //参数数组
- $ParameterArray=array(
- "login_token"=>$login_token,
- "format"=>"json",
- "domain"=>$domain,
- "record_id"=>$record_id,
- "value"=>$value,
- "record_type"=>$record_type,
- "record_line_id"=>$record_line_id,
- "sub_domain"=>$sub_domain
- );
- $RecordList = array();
- //更换接口为记录列表接口
- $Url="https://dnsapi.cn/Record.List";
- $PostReturnInfo=RunPost($Url,"login_token=".$login_token."&"."domain=".$domain."&"."format=".$format);
- $de_json = json_decode($PostReturnInfo,TRUE);
- if ($de_json["status"]["code"]==1){
- for ($i = 0,$j = 0; $i < count($de_json["records"]); $i++)
- {
- //这里进行记录类型的过滤,需要添加的新记录类型的请自行添加,参数也请自行添加
- if ($de_json["records"][$i]["type"] == "A"){
- $RecordArrayTmp["records"] = $de_json["records"][$i]["id"];
- $RecordArrayTmp["name"] = $de_json["records"][$i]["name"];
- $RecordList[$j]=$RecordArrayTmp;
- $j++;
- }
- }
- }
- // 目前群晖回自己判断,手动判断ip地址是否变化,有时间了在写
- // 更换接口为记录修改接口
- $Url="https://dnsapi.cn/Record.Modify";
- for($i = 0 ;$i < count($RecordList);$i++){
- echo $RecordList[$i]["records"]."-----";
- echo $RecordList[$i]["name"]."<br>";
- $ParameterArray["record_id"]=$RecordList[$i]["records"];
- $ParameterArray["sub_domain"]=$RecordList[$i]["name"];
- RunPost($Url,GetParameterStr($ParameterArray));
- }
- ?>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。