php dnspod,RouteOS之利用DNSPOD的API接口实现DDNS解析

完整的请求地址为:https://www.dwhd.org/dnspod_v2.php?code=(API ID)&token=(API Token)&domain_id=(域名ID)&record_id=(解析ID)&sub_domain[域名解解析名]&record_type=[域名解析类型]&record_line=[域名解析线路]&value=[域名解析地址]

强制赋值变量为:

code,token,domain_id,record_id

可选变量为:

sub_domain,record_type,record_line,value

当变量sub_domain为空时,PHP自动赋值为:『routeos』

当变量record_type为空时,php自动赋值为:『A』

当变量record_line为空时,PHP自动赋值为:『默认』

当变量value为空时,php自动获取当前请求的IP为其值

$realip = getIP();

$code = $_GET['code'];

$token = $_GET['token'];

$domain_id = $_GET['domain_id'];

$record_id = $_GET['record_id'];

$sub_domain = $_GET['sub_domain'];

$value = $_GET['value'];

$record_type = $_GET['record_type'];

$record_line = $_GET['record_line'];

if (empty($code)) { exit('code empty.'); }

if (empty($token)) { exit('token empty.'); }

if (empty($domain_id)) { exit('domain_id empty.'); }

if (empty($record_id)) { exit('record_id empty.'); }

if (empty($sub_domain)) { $sub_domain = "routeos"; }

if (empty($record_type)) { $record_type = "A"; }

if (empty($record_line)) { $record_line = "默认"; }

if (empty($value)) { $value = $realip; }

$ip = checkIP($code, $token, $domain_id, $record_id);

if (empty($ip)) { exit('ip empty.'); }

if ($ip == $value) { exit("IP一致."); }

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://dnsapi.cn/Record.Modify");

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($ch, CURLOPT_POSTFIELDS, "login_token=" . $code . "," . $token . "&format=json&domain_id=" . $domain_id . "&record_id=" . $record_id . "&sub_domain=" . $sub_domain . "&value=" . $value . "&record_type=" . $record_type . "&record_line=" . "$record_line");

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$server_output = curl_exec($ch);

curl_close($ch);

exit('ok');

function checkIP($code, $token, $domain_id, $record_id ) {

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://dnsapi.cn/Record.Info");

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($ch, CURLOPT_POSTFIELDS, "login_token=" . $code . "," . $token . "&format=json&domain_id=" . $domain_id . "&record_id=" . $record_id . "");

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$server_output = curl_exec($ch);

curl_close($ch);

$json = json_decode($server_output, TRUE);

return $json['record']['value'];

}

function getIP(){

if (@$_SERVER["HTTP_X_FORWARDED_FOR"])

$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];

else if (@$_SERVER["HTTP_CLIENT_IP"])

$ip = $_SERVER["HTTP_CLIENT_IP"];

else if (@$_SERVER["REMOTE_ADDR"])

$ip = $_SERVER["REMOTE_ADDR"];

else if (@getenv("HTTP_X_FORWARDED_FOR"))

$ip = getenv("HTTP_X_FORWARDED_FOR");

else if (@getenv("HTTP_CLIENT_IP"))

$ip = getenv("HTTP_CLIENT_IP");

else if (@getenv("REMOTE_ADDR"))

$ip = getenv("REMOTE_ADDR");

else

$ip = "Unknown";

return $ip;

}

RouteOS 6.x

:global id "200000"

:global token "*****************25712a6430c5f2"

:global domainid "830000"

:global recordid "295000000"

:global subdomain "routeos"

:global xx "https://www.dwhd.org/dnspod_2.php?code=$id&token=$token&domain_id=$domainid&record_id=$recordid"

/tool fetch url=("$xx") mode=https keep-result=yes dst-path=ddns.txt

RouteOS 5.x

:global id "200000"

:global token "*****************25712a6430c5f2"

:global domainid "830000"

:global recordid "295000000"

:global subdomain "routeos"

:global xx "http://www.dwhd.org/dnspod_2.php?code=$id&token=$token&domain_id=$domainid&record_id=$recordid"

/tool fetch url=("$xx") mode=http keep-result=yes dst-path=ddns.txt

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: DNSPod是国内领先的DNS服务提供商,其技术架构主要包括以下几个方面: 1. DNSPod采用了分布式架构,部署了多个DNS服务器,通过智能DNS解析算法将用户的请求分配到最近的服务器上,从而提高了访问速度和稳定性。 2. DNSPod使用高性能的DNS解析软件,如PowerDNS和Unbound,这些软件具有较高的并发处理能力和缓存机制,可以有效地提高DNS解析效率。 3. DNSPod还采用了多层缓存机制,包括本地DNS缓存、ISP DNS缓存和DNSPod服务器缓存,从而降低了DNS解析的延迟时间。 4. DNSPod还提供了多种安全性保障措施,如DDoS攻击防御、DNS劫持检测和防御、DNSSEC数字签名等,保证了用户的DNS服务安全可靠。 总的来说,DNSPod技术架构采用了现代化的分布式架构、高性能软件、多层缓存机制和安全性保障措施,这些技术手段保证了DNSPod的高效稳定和安全可靠。 ### 回答2: dnspod 是一种基于云技术的域名解析服务平台,它的技术架构主要分为三个层次:用户接入层、解析请求层和数据存储层。 在用户接入层,dnspod 提供了简洁友好的用户界面和丰富的 API 接口,方便用户管理域名和解析记录。用户可以通过网页或者 API 接口对域名进行添加、删除、修改等操作,也可以设置解析记录、域名锁定等功能。 解析请求层是 dnspod 的核心技术层。它使用了分布式系统的架构,通过在全球各地部署的服务器节点接收和处理来自用户的解析请求。这些服务器会根据用户设定的解析记录,将解析请求解析成具体的 IP 地址,并将解析结果返回给用户的设备,从而实现域名解析dnspod 根据智能负载均衡算法,选择距离用户最近的服务器节点进行解析操作,提高解析速度和可靠性。 在数据存储层,dnspod 使用了高可用性分布式数据库和缓存技术。它将用户的域名和解析记录信息存储在多个数据库节点中,以实现数据的冗余备份和快速读写。同时,为了提高数据的读取速度,dnspod 还使用了缓存技术,将热门的解析记录缓存在内存中,加快解析的响应速度。 总结来说,dnspod 的技术架构采用了分布式系统和云计算技术,通过全球的服务器节点和智能负载均衡算法,实现了快速、可靠的域名解析服务。同时,高可用性的数据库和缓存技术保证了数据的安全和高效访问。这些技术的应用,使得 dnspod 在域名解析服务领域具有竞争优势。 ### 回答3: DNSPod是国内领先的云解析服务商,提供域名解析、CDN加速、DDoS防护等服务。其技术架构主要包括四个方面。 首先是分布式架构。DNSPod采用分布式架构部署在多个数据中心,确保服务的高可用性和可扩展性。每个数据中心都有自己的DNS服务器集群,通过内部网络互联实现数据同步和负载均衡,用户请求可以快速响应并分配到最近的服务器处理。 其次是智能解析引擎。DNSPod利用智能解析引擎提供精确的域名解析服务。该引擎基于机器学习和大数据分析技术,能够根据用户的地理位置、网络环境等因素,选择最优的解析节点和解析策略,提供更快速、稳定的解析结果。 第三是大规模高性能DNS服务器集群。DNSPod构建了大规模的DNS服务器集群,每个服务器都运行高性能的DNS软件,并通过动态负载均衡算法将请求分配到最合适的服务器上。集群中的服务器通过内部通信协议同步数据,支持快速更新和分布式存储,以应对海量的解析请求和域名数据。 最后是安全防护机制。DNSPod具备强大的安全防护机制,包括DDoS防护、域名劫持监测、安全策略控制等。通过流量清洗系统和智能防火墙等技术,DNSPod能有效抵御各种网络攻击,保障用户的域名解析服务的稳定性和安全性。 总之,DNSPod技术架构采用分布式架构、智能解析引擎、大规模高性能DNS服务器集群和安全防护机制,以提供高可用、高性能、安全可靠的域名解析服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值