<!-- 注释: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)); } ?>
原文链接:https://blog.csdn.net/u010431493/article/details/79785541?ops_request_misc=&request_id=&biz_id=&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~koosearch~default-11-79785541-null-null.268%5Ev1%5Ekoosearch&utm_term=%E9%BB%91%E7%BE%A4%E6%99%96%E3%80%81docker%E3%80%81%E5%AE%B9%E5%99%A8%E9%95%9C%E5%83%8F%E3%80%81%E5%9F%9F%E5%90%8D%E6%B3%A8%E5%86%8C%E3%80%81%E5%AE%9D%E5%A1%94%E3%80%81%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%E3%80%81nginx%E3%80%81frp%E3%80%81%E5%8A%A8%E6%80%81%E5%9F%9F%E5%90%8D%E8%A7%A3%E6%9E%90%E3%80%81NAS%E3%80%81%E7%BE%A4%E6%99%96%E3%80%81%E9%98%BF%E9%87%8C%E4%BA%91%E3%80%81%E5%9F%9F%E5%90%8D%E8%A7%A3%E6%9E%90%E3%80%81%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F%E3%80%81ipv6%E3%80%81ddns%E3%80%81%E8%BD%BB%E9%87%8F%E7%BA%A7%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8%E3%80%81%E9%93%81%E5%A8%81%E9%A9%AC%E3%80%81%E5%A8%81%E8%81%94%E9%80%9A%E3%80%81DSM%E3%80%81DSM6.0%E3%80%81%E7%BE%A4%E6%99%96nas%E3%80%81%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8%E3%80%81%E8%9C%97%E7%89%9B%E6%98%9F%E9%99%85%E3%80%81