# -*- coding: utf-8 -*-
'''
Created on 2015-06-19
@author: minqiang.feng
@email: wnfmq@126.com
'''
import os,sys,time
import json
import dnspod.api
from dnspod.api.rest import *
import argparse
'''
这边可以设置一个默认的accessKeyId和accessKeySecret,当然也可以不设置
注意:默认的只需要设置一次就可以了
'''
dnspod.setDefaultAppInfo("username", "passwd")
'''
a = dnspod.api.domain20150619DomainList()
b = dnspod.api.user20150619UserDetail()
f= a.getResponse()
print b.getResponse()
try:
print("begin");
f= a.getResponse()
print(f)
except Exception,e:
print(e)
'''
class Domain(object):
def __init__(self,domain=''):
self.domain = domain
self.domain_id = None
def getidbydomain(self):
buf=self.DomainInfo()
self.domain_id = buf["domain"]['id']
return self.domain_id
def setdomain(self,domain):
self.domain = domain
def DomainCreate(self):
a = domain20150619DomainCreate()
a.domain = self.domain
try:
f = a.getResponse()
return f
except Exception,e:
print e
def DomainInfo(self):
a = domain20150619DomainInfo()
a.domain = self.domain
try:
f = a.getResponse()
return f
except Exception,e:
print e
def DomainList(self):
a = domain20150619DomainList()
a.domain = self.domain
try:
f = a.getResponse()
return f
except Exception,e:
print e
def DomainLog(self):
pass
def DomainRemove(self):
a = domain20150619DomainRemove()
a.domain = self.domain
try:
f = a.getResponse()
return f
except Exception,e:
print e
def DomainSearchenginepush(self):
pass
def DomainshareCreate(self):
pass
def DomainshareList(self):
pass
def DomainStatus(self):
pass
class Record(Domain):
def __init__(self,domain):
Domain.__init__(self,domain)
self.sub_domain = None
self.record_type = None
self.record_id = None
self.recordid = []
#self.domain_id = None
self.domain_id = self.getidbydomain()
def RecordCreate(self,sub_domain,record_type,value,record_line="默认",mx=5,ttl=600,status="enable"):
a = record20150619RecordCreate()
a.domain_id = self.domain_id
if sub_domain == '':
a.sub_domain = self.sub_domain
else:
a.sub_domain = sub_domain
a.record_type = record_type
a.value = value
a.record_line = record_line
a.mx = mx
a.ttl = ttl
a.status = status
try:
f = a.getResponse()
return f
except Exception,e:
print e
def SetRecord(self,RecordName):
self.sub_domain = RecordName
'''判断记录是否存在'''
def Istrue(self):
self.GetRecordID()
if len(self.recordid) >0:
return True
else:
return False
def Length(self):
self.GetRecordID()
return len(self.recordid)
def RecordNum(self):
self.GetRecordID()
return len(self.recordid)
def GetRecordID(self,sub_domain=''):
buf=self.RecordList();
self.recordid = []
if sub_domain == '':
sub_domain = self.sub_domain
for i in buf["records"]:
if sub_domain == i["name"]:
self.recordid.append(i["id"])
def RecordInfo(self):
self.GetRecordID(self.sub_domain)
a = record20150619RecordInfo()
a.domain_id = self.domain_id
tmp = []
for i in self.recordid:
a.record_id = i
try:
f = a.getResponse()
tmp.append(f)
except Exception,e:
print e
return tmp
def RecordList(self):
a = record20150619RecordList()
a.domain_id = self.domain_id
try:
f = a.getResponse()
return f
except Exception,e:
print e
def RecordModify(self,recordid,sub_domain,record_type,value,record_line="默认",mx=5,ttl=600,status="enable"):
a = record20150619RecordModify()
a.domain_id = self.domain_id
a.record_id = recordid
a.sub_domain = sub_domain
a.record_type = record_type
a.value = value
a.record_line = record_line
a.mx = mx
a.ttl = ttl
a.status = status
try:
f = a.getResponse()
return f
except Exception,e:
print e
def AutoRecordModify(self,sub_domain,record_type,value,record_line="默认",mx=5,ttl=600,status="enable"):
self.GetRecordID(sub_domain)
if len(self.recordid) >= 2:
return "More than 1 Records"
if len(self.recordid) ==0:
return "Less than 1 Records"
a = record20150619RecordModify()
a.domain_id = self.domain_id
a.record_id = self.recordid[0]
a.sub_domain = sub_domain
a.record_type = record_type
a.value = value
a.record_line = record_line
a.mx = mx
a.ttl = ttl
a.status = status
try:
f = a.getResponse()
return f
except Exception,e:
print e
def RecordRemark(self):
pass
def RecordRemove(self):
pass
def RecordStatus(self):
pass
if __name__ == '__main__':
Do = Domain()
Do.setdomain("fengyunzhibo.com")
print Do.DomainList()
该俩个class是在python的dnspod api的基础上写的,请下载dnspod api后使用,下载地址 http://down.51cto.com/data/2079627
转载于:https://blog.51cto.com/bitstone/1682635