def list_record(self): ''' 获取某个域名下的解析记录列表 :return: ''' self.record_list = [] #每页搜索条目数量,单页搜索结果最大100个 length = 20 #偏移量,也就是分页量 offset = 0 #循环搜索域名下的所有解析记录列表,如果解析记录数量较多,需要分页循环搜索 while True: # 调用self.response参数获取域名列表 self.response = submit("Record.List",domain=self.domain,length=length,offset=offset) if self.response.get("status", {}).get("code") == "1": res = self.response.get("records") #将多次搜索到的解析条目合并到self.record_list列表中 self.record_list = self.record_list + res #偏移量增加,比如第一次从0开始搜索,搜索20页,则第二次从20偏移量开始搜索..所以下一次的offset就是当前的offset和length2个参数的和 offset += length else: break
def record_status(self): ''' 开启或者关闭一条解析记录 提供必要的参数: 域名(或者域名id),解析记录的Id,status:{enable|disable} :return: ''' self.response = submit("Record.Status",**self.params)
def domain_status(self): ''' 需要2个参数 domain或者domain_id: 域名或者域名id status: 状态 :return: ''' self.response = submit("Domain.Status",**self.params)
def record_remove(self): ''' 删除一条解析记录,需要先判断该解析记录是否存在,以及是否有多个解析记录存在 提供必要的参数: 域名(或者域名id),解析记录的Id :return: ''' self.response = submit("Record.Remove",**self.params)
def domain_list(self): self.response = submit("Domain.List") domain_info = self.response.get('domains') for item in domain_info: if item.get("name") == self.domain: self.domain_id = item.get("id") break else: self.domain_id = None
def is_domain_avaliable(self): ''' 检查域名是否已经存在 :return: ''' if not self.domain: raise DNSPodApiException("请指定解析的域名名称") else: self.response = submit("Domain.Info", domain=self.domain)
def record_modify(self): ''' 修改一条解析记录,需要先判断该解析记录是否存在,以及是否有多个解析记录存在 提供必要的参数: 域名(或者域名id),解析记录的Id,解析值,解析类型,解析线路. 可选参数: 解析记录状态,ttl缓存时间,mx优先级,解析名 :return: ''' self.response = submit("Record.Modify",**self.params)
def domain_info(self): ''' 查看一个域名是否存在 域名信息中包含很多信息.本方法只获取2个关键域名信息:域名状态,域名id. :return: ''' self.response = submit("Domain.Info",domain = self.domain) if self.response.get("status", {}).get("code") == "1": self.grade_title = self.response.get('domain').get('grade_title') self.domain_id = self.response.get('domain').get('id') self.status = self.response.get('domain').get('status') else: self.domain_id = None self.status = None self.grade_title = None
def domain_create(self): ''' 参数: domain域名 :return: ''' self.response = submit("Domain.Create",domain = self.domain)
def record_create(self): ''' :return: ''' self.response = submit("Record.Create",**self.params)