公司很多的域名在dnspod上,每次需要登录网站去修改记录。既然dnspod提供了api,那咱们编写一个python脚本,通过api免登录实现域名的解析、修改和删除:
上图的账号内有2个域名ssw.fit和ssw.ski,我想給ssw.ski增加了一条A记录,
把test子域名解析到我的linux云服务器,
添加完后访问test.ssw.ski
### 如何获得域名解析信息
使用dnspod api, 说明见腾讯云文档:https://docs.dnspod.cn/api/call-requency/
“`
#获取domain_id
curl ‘https://dnsapi.cn/Domain.List’ -d ‘login_token=&format=json’
#获取record_id
curl ‘https://dnsapi.cn/Record.List’ -d ‘login_token=&format=json&domain_id=’
“`
### 获取Token
访问https://console.dnspod.cn/account/token/token ,创建一个秘钥
完成后程序中可以使用ID,TOKEN来访问api。
### 目标实现
一般都通过requests 的post方法访问对应网址。
不过这里用curl命令更简介方便,它也可以发起post请求,并且一条命令解决。
所以用python来执行linux下的curl命令就可以了:
“`python
class DomainHandler(object):
def __init__(self):
pass
def exec_cmd(self,cmd):
res = Popen(cmd, shell=True, stdout=PIPE)
ret = res.communicate()[0].decode(‘utf-8’)
return ret.strip()
“`
下面以添加A记录为例。
添加字典对应函数入口:
“`python
dic = {
‘1’:DomainHandler().add,
‘2’:DomainHandler().mod,
‘3’:DomainHandler().delete
}
tag = True
while tag:
print(”’
1.增加
2.修改
3.删除
q.退出
”’)
choice = input(‘