需要php环境。getMessage();

return null;

}

}

function api_call($api, $data)

{

if ($api == '' || !is_array($data)) {

exit('内部错误:参数错误');

}

$api = 'https://dnsapi.cn/' . $api;

$data = array_merge($data, array('login_email' => $this->dnspod_user, 'login_password' => $this->dnspod_pwd, 'format' => 'json', 'lang' => 'cn', 'error_on_empty' => 'no'));

$result = $this->post_data($api, $data);

if (!$result) {

exit('内部错误:调用失败');

}

$results = @json_decode($result, 1);

if (!is_array($results)) {

exit('内部错误:返回错误');

}

if ($results['status']['code'] != 1) {

exit($results['status']['message']);

}

return $results;

}

private function post_data($url, $data)

{

if ($url == '' || !is_array($data)) {

return false;

}

$ch = @curl_init();

if (!$ch) {

exit('内部错误:服务器不支持CURL');

}

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_HEADER, 0);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);

curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));

curl_setopt($ch, CURLOPT_USERAGENT, 'LocalDomains_PHP/1.0.0(roy@leadnt.com)');

$result = curl_exec($ch);

curl_close($ch);

return $result;

}

public function exec()

{

$ip = $this->getMyIp();

$domainInfo = $this->api_call('domain.info',array('domain' => $this->domain));

$domainId = $domainInfo['domain']['id'];

$record = $this->api_call('record.list',array('domain_id'=> $domainId,'offset' =>'0','length' => '1','sub_domain' =>$this->sub_domain));

if($record['info']['record_total'] == 0)

{

$this->api_call('record.create',

array(

'domain_id' => $domainId,

'sub_domain' => $this->sub_domain,

'record_type' => 'A',

'record_line' => '默认',

'value' => $ip,

'ttl' => '120'

));

}

else

{

if($record['records'][0]['value'] != $ip)

{

$this->api_call('record.modify',

array(

'domain_id' => $domainId,

'record_id' => $record['records'][0]['id'],

'sub_domain' => $this->sub_domain,

'record_type' => 'A',

'record_line' => '默认',

'value' => $ip

));

}

else

{

echo '指向正常';

}

}

}

}

$dns = new Dns();

$dns->exec();

?>

保存为dns.php文件。

如Tomato路由器已经挂载php环境,执行:/opt/bin/php /opt/dns.php

或将以上命令放在脚本设置---当WAN联机里。

请为这篇文章评分:

( 这篇文章尚未评分 )

linux php域名解析,linux下用dnspod实现动态域名解析(可用于Tomato等路由器)相关推荐

  1. 嵌入式Linux支持dlopen,Android下使用dlopen函数动态调用.so链接库

    在这篇文章([09.03.25]Linux环境中dlopen函数的简单应用)中.实现了在UBUNTU LINUX环境下使用dlopen函数动态调用.so链接库.但是也提到了在Android下未能成功. ...

  2. Linux运维~2.DNS——8.ddns 动态域名解析 花生壳

    ddns 动态域名解析(dns+dhcp)(花生壳) 安装dhcp,dns yum install dhcp bin 防火墙配置 firewall-cmd --permannet --add-serv ...

  3. 你不得不了解的三大动态域名解析软件选型要素

    众所周知,动态域名解析是通过固定的域名绑定动态IP,绑定解析之后,只要访问域名即可访问到服务,因此不管IP如何变化,都能访问到服务器.动态域名解析技术的友好性,已经成为IT行业中重要的连接技术. 从事 ...

  4. 动态域名解析服务器离线会引起什么_动态域名解析过程中可能出现的问题及解决方案...

    动态域名在企业中应用非常广泛,金万维动态域名作为一款平稳运行10余年的软件,已是被业界所熟知.该系统由两部分构成,一部分是客户端,运行在用户的主机上:另一部分是服务器,由金万维负责运行. 谓动态域名解 ...

  5. dnspod域名解析linux,DNSPod域名解析详细教程无私奉献

    最新消息: 记者: 编辑: 很多人在国外注册域名,因为国外DNS解析过慢或者遭到屏蔽.又或者E文不是很好,所以选择把域名用DNSPod解析是一个不错的选择. 一.DNSPod注册用户 打开DNSPod ...

  6. linux 服务 ddns,Linux 环境下搭建DDNS

    什么是ddns: DDNS是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务器程序负责 ...

  7. 金万维linux 路由,金万维动态域名解析(宽带通)Linux版

    金万维动态域名解析(宽带通)Linux版 安装方法: 得到金万维gnhostlinux动态域名Linux/Unix下客户端软件 wget http://www.gnway.com/download/g ...

  8. Linux中/proc目录下文件详解

    Linux中/proc目录下文件详解(一) 声明:可以自由转载本文,但请务必保留本文的完整性. 作者:张子坚 email:zhangzijian@163.com 说明:本文所涉及示例均在fedora ...

  9. transmission Linux(debian)下的BT下载客户端安装

    transmission Linux(debian)下的BT下载客户端安装 转载于:https://blog.51cto.com/2042617/1597540

最新文章

  1. 15岁成杀人犯,监狱里学编程,37岁获释后年薪70万
  2. DES密码实现( C语言 )
  3. 10种轻量级人脸检测算法大PK
  4. 同一进程中的线程究竟共享哪些资源
  5. linux rpm 查找,Linux下 rpm 命令查询方法
  6. (转)国外 RPA 企业盘点:谁是领导者,谁是挑战者
  7. Redis源代码分析(三十)--- pubsub公布订阅模式
  8. 虚拟IP与arp协议
  9. nmap扫描开放端口
  10. 一个Autoit恶意资源消耗样本
  11. 盲人怎么使用计算机考试,盲人考试怎么答题?11名全盲考生使用盲文试卷高考...
  12. 多模态AI浪潮来袭,或造福数亿视障人群
  13. 程序员常用十大算法(四):KMP算法 与 暴力匹配算法 解决字符串匹配问题
  14. c语言统计宿舍 信息,学生宿舍管理系统C语言.doc
  15. UOS 在桌面创建网页快捷方式
  16. dp 部分和问题及其扩展
  17. 来认识一下这些基于好友关系链和算法推荐的电影发现产品
  18. ICMP协议(3层网络层协议:IP、ARP、ICMP)
  19. 机房收费文档之软件需求说明书
  20. Remix OS for PC

热门文章

  1. Hexagon DSP功能介绍
  2. linux neo4j 教程,Neo4j 入门教程 - 安装
  3. 简单总结常用PCB元器件封装
  4. 引入css样式属于链接式的是,(5)css样式导入
  5. Recovery刷机工具 v5.0.2.8
  6. 【赛题回顾】2019 年海淀区中小学生信息学奥林匹克竞赛小学组真题
  7. HTML5期末大作业:网站——个人网站介绍 (7页面带轮播特效)明星赵丽颖 学生DW网页设计作业源码 web课程设计网页规划与设计 大学生个人网站作业模板...
  8. Python 移位操作 与 C移位操作
  9. 广工 AnyviewC 数据结构习题 第四章
  10. 远程控制任我行的使用