域名动态解析到动态IP
来源:互联网 发布:mysql安装教程5.7.20 编辑:程序博客网 时间:2024/05/21 15:02
一般宽带用户的IP都是动态IP,重连之后IP可能会发生变化。
如果想在其他地方连接家里的设备,或者在家中搭建服务器,就会受到影响。
现在提供一种动态解析域名的方式,只要检测到IP的变化,那么就调用阿里云的开放api,更新域名解析
github(欢迎star):https://github.com/liuyinglong/aliyun;
npm(aliCloudClient):https://www.npmjs.com/package/aliyun-apisign
说明
每分钟获取一次公网 IP,如果检测到公网IP发生了变化,则调用aliyun的开放接口进行更新
let AliCloudClient = require("../aliCloudClient");let Req = require("../request");let request = new Req();let schedule = require("node-schedule");let aliClient = new AliCloudClient({ AccessKeyId: "your AccessKeyId", AccessKeySecret: "your AccessKeySecret", serverUrl: "http://alidns.aliyuncs.com"});let domainNameValue = "www";let recordId, //记录ID ip;function getMyIp() { return request.post("http://ip.taobao.com/service/getIpInfo2.php", { ip: "myip" }).then(function (data) { return data.body.data.ip; }).catch(function (err) { return Promise.reject(err); })}function getDomainRecords() { return aliClient.get("/", { Action: "DescribeSubDomainRecords", SubDomain: "www.yourDomain.cn" }).then(function (data) { let body = data.body; let record = body.DomainRecords.Record[0]; recordId = record.RecordId; return record.Value; }).catch(function (err) { return Promise.reject(err); })}function upDateRecords() { return aliClient.get("/", { Action: "UpdateDomainRecord", RecordId: recordId, RR: domainNameValue, Type: "A", Value: ip }).then(function (data) { console.log(new Date() + ip + " 修改成功"); }).catch(function (err) { console.log(err) })}function watchIpChange() { return getMyIp().then(function (tempIp) { if (ip === tempIp) { return; } if (!ip) { return; } console.log(new Date()+ ip + "=>"+ tempIp); ip = tempIp; upDateRecords(); }).catch(function(err){ console.log(err); })}Promise.all([getMyIp(), getDomainRecords()]).then(function (result) { ip = result[0]; let domainValue = result[1]; if (ip !== domainValue) { upDateRecords(); }});schedule.scheduleJob("0 * * * * *", function () { watchIpChange();});
阅读全文
0 0
- 域名动态解析到动态IP
- 通过阿里云域名动态解析 IP 地址
- 花生壳---动态IP和域名绑定
- 花生壳域名绑定动态ip注意事项
- Python 实现IP动态绑定pubyun 域名
- 花生壳域名绑定动态IP原理浅析
- 阿里云域名绑定动态ip解决方法
- 国际域名及其他可解析域名免费捆绑动态IP地址
- 域名如何解析到指定IP?
- 用ddclient实现顶级域名动态解析
- docker定时更新动态拨号IP到阿里云云解析,实现动态域名解析DDNS功能
- 利用 zoneedit 将顶级域名绑定动态IP
- ios中 根据域名动态获取ip地址
- 根据域名动态获取IP地址(iOS)
- 动态IP访问控制列表解析
- 阿里云解析动态公网IP
- 移植dhcp到mini2440中;动态ip
- Python动态更新服务器ip到dnspod
- www.wonderhowto.com 黑客 科技 信息类网站
- 201412-3 集合竞价
- SpringMVC拦截器(资源和权限管理)
- JQuery 实现 图片滑动收起与隐藏
- 文章标题n个人围成一圈,顺序排号。从第一个人开始报数(1~3),凡报到3的人退出圈子,问最后留下来的是原来几号的那位?
- 域名动态解析到动态IP
- nodejs版 阿里云开放api签名算法
- C++引用解析
- 504. Base 7
- 进程间通信——消息队列
- python中的函数
- Flask和Ajax的交互
- 十道海量数据处理面试题与十个方法大总结
- 模板的类型萃取