阿里云域名绑定动态IP来实现动态域名解析DDNS
阿里云提供sdk接口进行域名操作,可以实现域名的添加、删除、更新、查询列表、操作日志等,非常方便。
阿里云域名开发SDK的在线文档:云解析修改解析记录
阿里云域名开发SDK的离线文档:dns-api-reference-cn-zh-2016-07-14.pdf
阿里云域名开发SDK的必需文档:公共参数 、 签名机制 、调用说明(Java版)
同腾讯云开发文档一样,阿里云的开发文档也有一些错误,这里先给出来,让读者少走弯路:
1、阿里云的公共参数中的时间戳字段(Timestamp),需要进行urlencode编码,阿里云官网示例文档是没有进行urlencode编码的
Timestamp=2015-01-09T12:00:00Z 在签名前必须使用
urlencode编码格式 Timestamp=2015-01-09T12%3A00%3A00Z
阿里云API开发必须使用阿里云的AccessKeyId 和 AccessKeySecret,前者用在签名里,后者用作签名算法的加密,下文会介绍到。
阿里云的AccessKeyId 和 AccessKeySecret 的查看地址:https://usercenter.console.aliyun.com/#/manage/ak
由于API写的很详细,我在这简述一下实现流程,顺便附上我github上用java写好的一个自动更新域名的程序:点击这里
1、首先要关注的是这些操作都是通过发http请求来实现的,看下面这个例子:
http://alidns.aliyuncs.com/?Action=DescribeDomainRecords &DomainName=mimvp.com &PageNumber=1 &PageSize=20 &RRKeyWord=www &TypeKeyWord=MX &ValueKeyWord=com &<公共请求参数>
这个公共请求参数是每个请求都会有的:
在API上有详细解释,需要注意的是Timestamp,Signature,SignatureNonce这3个参数,需要计算,其他的都比较简单上面有说本版本对应为,目前支持什么的,就直接给后面跟的那个值;
Timestamp:UTC时间,不懂自行百度;
SignatureNonce:唯一随机数,这个也就确保了你每次访问的链接参数的值都不一样,每次随机生产一串随机字符串就行了;
Signature:这个是稍微麻烦一点,要看API中的签名机制;
有什么不明白的欢迎提问;注:公共请求参数和签名机制都在调用方式下面
2、上面都准备好了,就通过DescribeDomainRecords这个接口,拿到RecordId这个返回值,这是你域名记录的主键;
3、将上面的返回的RecordId当作参数传给UpdateDomainRecord接口使用;
参考推荐:
Python 和 PHP 对腾讯云签名 hmac_sha256 算法实现
版权所有: 本文系米扑博客原创、转载、摘录,或修订后发表,最后更新于 2019-02-21 05:35:40
侵权处理: 本个人博客,不盈利,若侵犯了您的作品权,请联系博主删除,莫恶意,索钱财,感谢!