DNSbed的API路径是:http://www.dnsbed.com/api/方法名。这里的方法名是要执行的方法的名字,目前有如下方法(请注意大小写):
- addZone: 增加一个zone
- delZone: 删除一个zone
- listZones: 列出所有zone
- addRecord: 增加一条记录
- modifyRecord: 修改一条记录
- delRecord: 删除一条记录
- listRecords: 列出记录
- searchRecords: 搜索记录
每个方法执行时,必带的参数是uid和token,其中uid是你在DNSbed系统里的用户ID,token是验证字串(注意不是密码)。uid和token请发邮件到[email protected] 联系系统管理员获取。可以用任何程序语言执行这些方法调用,例如Java、Python、Ruby、Perl、PHP,甚至Shell都可以。风河写过一个Perl客户端放在CPAN上,可以直接使用。如下用Linux Shell的curl命令演示如何使用API方法。
(一)增加一个zone
$ curl http://www.dnsbed.com/api/addZone -d “uid=1″ -d “token=***” -d “zone=example.com”
上述zone参数是要添加的zone名,运行后返回:
{“info”:{“zid”:”2896″,”status”:0,”zone”:”example.com”},”id”:0}
返回id:0表示正常,其他任何id都表示错误,后面的方法也一样。
(二)列出所有zone
$ curl http://www.dnsbed.com/api/listZones -d “uid=1″ -d “token=***”
列出这个uid下的所有zone,返回:
{“info”:[{"zid":"2896","createDate":"2013-06-16 11:22:29","status":"1","zone":"example.com"},
{"zid":"201","createDate":"2012-06-15 13:39:17","status":"1","zone":"geocast.net"}],”id”:0}
上述返回里,请注意每个zone的zid是有用的,比如删除zone就要指定zid。
(三)删除一个zone
$ curl http://www.dnsbed.com/api/delZone -d “uid=1″ -d “token=***” -d “zid=2896″
返回略。
(四)增加一条记录
$ curl http://www.dnsbed.com/api/addRecord -d “uid=1″ -d “token=***” -d “zid=201″ -d “rname=test” -d “rvalue=1.2.3.4″ -d “rtype=A” -d “ttl=300″
上述参数里,除了uid、token、zid外,还需要指定rname(主机名)、rtype(记录类型)、rvalue(记录值)、ttl(缓存时间)。返回:
{“info”:{“zid”:”201″,”mxnum”:”0″,”ttl”:”300″,”rvalue”:”1.2.3.4″,
“rtype”:”A”,”rid”:”19422″,”rname”:”test”},”id”:0}
上述返回里,请注意每个记录的rid是有用的,比如修改记录就要指定rid。
(五)修改一条记录
$ curl http://www.dnsbed.com/api/modifyRecord -d “uid=1″ -d “token=***” -d “zid=201″ -d “rid=19422″ -d “rname=test” -d “rvalue=5.6.7.8″ -d “rtype=A” -d “ttl=300″
上述参数跟增加记录差不多,不同的是要指定rid。返回:
{“info”:{“zid”:”201″,”mxnum”:”0″,”ttl”:”300″,”rvalue”:”5.6.7.8″,
“rtype”:”A”,”rid”:”19423″,”rname”:”test”},”id”:0}
请注意修改记录后,返回的rid变了。
(六)删除一条记录
$ curl http://www.dnsbed.com/api/delRecord -d “uid=1″ -d “token=***” -d “zid=201″ -d “rid=19423″
删除指定rid的记录,返回略。
(七)列出记录
$ curl http://www.dnsbed.com/api/listRecords -d “uid=1″ -d “token=***” -d “zid=201″
列出这个zid下的所有记录,返回略。也可以指定rid只列出部分记录。
(八)搜索记录
$ curl http://www.dnsbed.com/api/searchRecords -d “uid=1″ -d “token=***” -d “zid=201″ -d “keyword=www”
上述keyword表示要搜索的关键字,返回:
{“info”:[{"mxnum":"0","ttl":"900","rvalue":"1.2.3.4",
"rtype":"A","rid":"16904","rname":"www"}],”id”:0}
完整的API文档请参考:http://www.dnsbed.com/API.pdf
在使用API的过程中有任何问题,请随时联系我们:[email protected]