阿里云提供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 算法实现