def get_domains(target): """ 获取域名 :param set or str target: :return: 域名集合 """ domains = list() logger.log('DEBUG', f'正在获取域名') if isinstance(target, (set, tuple)): domains = list(target) elif isinstance(target, list): domains = target elif isinstance(target, str): target = target.lower().strip() domain = Domain(target).match() if domain: domains.append(domain) else: path = Path(target) if path.is_file() and path.exists(): with open(target, encoding='utf-8', errors='ignore') as file: for line in file: line = line.lower().strip() domain = Domain(line).match() if domain: domains.append(domain) count = len(domains) if count == 0: logger.log('FATAL', f'获取到{count}个域名') exit(1) logger.log('INFOR', f'获取到{count}个域名') return domains
def get_domains(target): """ 获取域名 :param set or str target: :return: 域名集合 """ domains = list() logger.log('DEBUG', f'正在获取域名') if isinstance(target, (set, tuple)): domains = list(target) elif isinstance(target, list): domains = target elif isinstance(target, str): path = Path(target) if path.is_file(): with open(target) as file: for line in file: domain = Domain(line.strip()).match() if domain: domains.append(domain) elif Domain(target).match(): domains = [target] logger.log('INFOR', f'获取到{len(domains)}个域名') return domains
def get_domains(target): """ Get domains :param set or str target: :return list: domain list """ domains = list() logger.log('DEBUG', f'Getting domains') if isinstance(target, (set, tuple)): domains = list(target) elif isinstance(target, list): domains = target elif isinstance(target, str): path = Path(target) if path.exists() and path.is_file(): domains = read_target(target) else: target = target.lower().strip() domain = Domain(target).match() if domain: domains.append(domain) count = len(domains) if count == 0: logger.log('FATAL', f'Get {count} domains') exit(1) logger.log('INFOR', f'Get {count} domains') logger.log('DEBUG', f'The obtained domains \n{domains}') return domains
def getDomains(self, name=None, enabled=True): try: data = {"enabled": enabled} if name: data["name"] = name response = self.getResource("/domains", "GET", data=data) except requests.exceptions.HTTPError as ex: response = ex.response.json() raise Exception("error on retrieving the domains list: %s" % response["error"]["message"]) domains = [] if response: domains_info = response["domains"] for info in domains_info: domain = Domain() domain.setId(info["id"]) domain.setName(info["name"]) domain.setEnabled(info["enabled"]) domains.append(domain) return domains
def get_maindomain(domain): """ Get main domain :param str domain: domain :return: main domain """ return Domain(domain).registered()
def register(domain): """ Get registered domain :param str domain: domain :return: registered domain """ return Domain(domain).registered()
def read_target(target): domains = list() with open(target, encoding='utf-8', errors='ignore') as file: for line in file: line = line.lower().strip() domain = Domain(line).match() if domain: domains.append(domain) return domains
def split_domain(domain): """ Split domain base on subdomain levels Root+TLD is taken as one part, regardless of its levels """ # test.1.foo.example.com -> [test, 1, foo, example.com] # test.2.foo.example.com.cn -> [test, 2, foo, example.com.cn] # test.example.co.uk -> [test, example.co.uk] ext = Domain(domain).extract() subname = ext.subdomain parts = ext.subdomain.split('.') + [ext.registered_domain] return subname, parts
def get_domains(target): """ 获取域名 :param set or str target: :return: 域名集合 """ domains = set() logger.log('INFOR', f'正在获取域名') if isinstance(target, set): domains = target elif isinstance(target, str): path = pathlib.Path(target) if path.is_file(): with open(target) as file: for line in file: domain = Domain(line.strip()).match() if domain: domains.add(domain) if Domain(target).match(): domains = {target} logger.log('INFOR', f'获取到{len(domains)}个域名') return domains
def getDomain(self, id): try: response = self.getResource("/domains/%s" % id, "GET") except requests.exceptions.HTTPError as ex: response = ex.response.json() raise Exception("error on retrieving the domain (id=%r, msg=%s)." % (id, response["error"]["message"])) domain = None if response: info = response["domain"] domain = Domain() domain.setId(info["id"]) domain.setName(info["name"]) domain.setEnabled(info["enabled"]) return domain
def get_main_domain(domain): return Domain(domain).registered()
def match_main_domain(domain): if not isinstance(domain, str): return None item = domain.lower().strip() return Domain(item).match()
def get_main_domain(domain): if not isinstance(domain, str): return None return Domain(domain).registered()
def get_maindomain(subdomain): return Domain(subdomain).registered()