nodejs版 阿里云开放api签名算法
来源:互联网 发布:可以做seo的淘宝客cms 编辑:程序博客网 时间:2024/05/18 02:03
阿里云 API 签名
github:https://github.com/liuyinglong/aliyun;
npm :https://www.npmjs.com/package/aliyun-apisign
阿里云已开放的API
https://develop.aliyun.com/tools/openapilist
install
npm install aliyun-apisign --save
use
let AliCloudClient = require("../aliCloudClient");let aliClient=new AliCloudClient({ AccessKeyId:"your AccessKeyId", AccessKeySecret:"your AccessKeySecret", serverUrl:"http://alidns.aliyuncs.com"});//获取解析列表aliClient.get("/",{ Action:"DescribeDomainRecords", DomainName:"yourDomain.cn"}).then(function(data){ console.log(data.body)}).catch(function(err){ console.log(err);});
小案例-》利用阿里云开放api进行动态域名解析
每分钟获取一次公网 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
- nodejs版 阿里云开放api签名算法
- 基于Python的阿里云API签名算法及邮件推送服务
- 开放api接口签名验证
- 开放api接口签名验证
- 开放api接口签名验证
- 开放api接口签名验证
- 开放api接口签名验证
- 开放api接口签名验证
- 开放平台api接口签名验证说明
- 阿里云----飞天开放服务
- 阿里云 3306端口开放
- 前端ajax请求添加rsa签名,nodejs请求添加签名,nodejs api添加验签
- 调用项目淘宝开放平台API调用nodejs实现
- nodejs 微信网页api上传图片后转发到阿里云存储
- 阿里云服务器部署Nodejs
- nodejs 调用阿里云短信
- Amazon Api 签名算法(golang版和java版)
- 阿里开放搜索 python的API简单封装
- 201412-3 集合竞价
- SpringMVC拦截器(资源和权限管理)
- JQuery 实现 图片滑动收起与隐藏
- 文章标题n个人围成一圈,顺序排号。从第一个人开始报数(1~3),凡报到3的人退出圈子,问最后留下来的是原来几号的那位?
- 域名动态解析到动态IP
- nodejs版 阿里云开放api签名算法
- C++引用解析
- 504. Base 7
- 进程间通信——消息队列
- python中的函数
- Flask和Ajax的交互
- 十道海量数据处理面试题与十个方法大总结
- 模板的类型萃取
- 百炼-2773-采药-C语言-01背包