|
|
@@ -0,0 +1,94 @@
|
|
|
+# -*- coding: utf-8 -*-
|
|
|
+# This file is auto-generated, don't edit it. Thanks.
|
|
|
+import json
|
|
|
+import sys
|
|
|
+import pandas as pd
|
|
|
+from typing import List
|
|
|
+
|
|
|
+from alibabacloud_alidns20150109.client import Client as Alidns20150109Client
|
|
|
+from alibabacloud_tea_openapi import models as open_api_models
|
|
|
+from alibabacloud_alidns20150109 import models as alidns_20150109_models
|
|
|
+from alibabacloud_tea_util import models as util_models
|
|
|
+from alibabacloud_tea_util.client import Client as UtilClient
|
|
|
+
|
|
|
+
|
|
|
+class Sample:
|
|
|
+ def __init__(self):
|
|
|
+ pass
|
|
|
+
|
|
|
+ @staticmethod
|
|
|
+ def create_client_domain(
|
|
|
+ access_key_id: str,
|
|
|
+ access_key_secret: str,
|
|
|
+ ) -> Alidns20150109Client:
|
|
|
+ config = open_api_models.Config(
|
|
|
+ # 必填,您的 AccessKey ID,
|
|
|
+ access_key_id=access_key_id,
|
|
|
+ # 必填,您的 AccessKey Secret,
|
|
|
+ access_key_secret=access_key_secret
|
|
|
+ )
|
|
|
+ # 访问的域名
|
|
|
+ config.endpoint = f'alidns.cn-beijing.aliyuncs.com'
|
|
|
+ return Alidns20150109Client(config)
|
|
|
+
|
|
|
+
|
|
|
+ @staticmethod
|
|
|
+ def domain_list(accessKeyId, accessKeySecret):
|
|
|
+ domainlist = []
|
|
|
+ domain_info = []
|
|
|
+ client = Sample.create_client_domain(accessKeyId, accessKeySecret)
|
|
|
+ describe_domains_request = alidns_20150109_models.DescribeDomainsRequest(page_size=100)
|
|
|
+ runtime = util_models.RuntimeOptions()
|
|
|
+ try:
|
|
|
+ resp = client.describe_domains_with_options(describe_domains_request, runtime)
|
|
|
+ data = json.loads((UtilClient.to_jsonstring(resp)))
|
|
|
+ if data["statusCode"] == 200:
|
|
|
+ target = data["body"]["Domains"]["Domain"]
|
|
|
+ for des in target:
|
|
|
+ domainlist.append(des["DomainName"])
|
|
|
+ except Exception as error:
|
|
|
+ UtilClient.assert_as_string(error)
|
|
|
+
|
|
|
+ for i in domainlist:
|
|
|
+ print(i)
|
|
|
+ describe_domain_records_request = alidns_20150109_models.DescribeDomainRecordsRequest(
|
|
|
+ domain_name=i,
|
|
|
+ type='A',
|
|
|
+ page_size=500
|
|
|
+ )
|
|
|
+
|
|
|
+ try:
|
|
|
+ resp = client.describe_domain_records_with_options(describe_domain_records_request, runtime)
|
|
|
+ data = json.loads((UtilClient.to_jsonstring(resp)))
|
|
|
+ if data["statusCode"] == 200:
|
|
|
+ target = data["body"]["DomainRecords"]["Record"]
|
|
|
+ for des in target:
|
|
|
+ if "Remark" in des:
|
|
|
+ Describe_dict = {
|
|
|
+ "主域名": des["DomainName"],
|
|
|
+ "二级域名": des["RR"],
|
|
|
+ "备注": des["Remark"],
|
|
|
+ "域名": f'''{des["RR"]}.{des["DomainName"]}''',
|
|
|
+ "解析IP": des["Value"]}
|
|
|
+ domain_info.append(Describe_dict)
|
|
|
+ else:
|
|
|
+ Describe_dict = {
|
|
|
+ "主域名": des["DomainName"],
|
|
|
+ "二级域名": des["RR"],
|
|
|
+ "备注": f'无备注信息',
|
|
|
+ "域名": f'''{des["RR"]}.{des["DomainName"]}''',
|
|
|
+ "解析IP": des["Value"]}
|
|
|
+ domain_info.append(Describe_dict)
|
|
|
+ except Exception as error:
|
|
|
+ UtilClient.assert_as_string(error)
|
|
|
+ df = pd.DataFrame(domain_info)
|
|
|
+ df.to_excel('output.xlsx', index=False)
|
|
|
+ @staticmethod
|
|
|
+ def main():
|
|
|
+ print("start")
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+if __name__ == '__main__':
|
|
|
+ Sample.domain_list("id","key")
|