11-10 2 views
因业务发展需要,需要在运管平台上新增域名解析管理的功能,一方面是操作的人不再需要dnspod的账户(因为dnspod与腾讯云合并,直接拿到这个账户操作权限太大),另一方面是运管平台上操作解析可以保留操作记录备查
以下代码是从运管平台的代码中摘录出来的,供参考
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
import requests import json class DnsPod(): def __init__(self, **kw): self.base_url = ‘dnsapi.cn’ self.params = dict( login_token='{},{}'.format(DNSPOD_ID, DNSPOD_TOKEN), format="json", ) self.params.update(kw) self.path = None def post(self, path, **kw): self.params.update(kw) url = 'https://' + self.base_url + '/' + path params = self.params r = requests.post(url, data=params, headers={"Content-type": "application/x-www-form-urlencoded", "Accept": "text/json", "User-Agent": "python/0.01"}) ret = json.loads(r.text) if ret.get("status", {}).get("code") == "1": return ret else: logger.error(ret) return |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
dns_pod = DnsPod() # Domain List dns_pod.post("Domain.List") # Domain Status dns_pod.post('Domain.Status', domain=instance.name, status=instance.get_domain_status()) # Domain Info dns_pod.post('Domain.Info', domain=instance.name) # Domain Remark dns_pod.post('Domain.Remark', domain=instance.name, remark=instance.comment) # Domain Remove dns_pod.post('Domain.Remove', domain=instance.name) # Record List dns_pod.post('Record.List', domain=instance.name) # Record Modify dns_pod.post('Record.Modify', domain=domain_asset.name, record_id=instance.record_id, sub_domain=instance.name, record_type=instance.get_record_type(), value=instance.record_value, ttl=instance.ttl, mx=instance.mx_level, status=status, record_line=instance.get_resolve_by()) # Record Create dns_pod.post('Record.Create', domain=domain_asset.name, sub_domain=instance.name, record_type=instance.get_record_type(), value=instance.record_value, ttl=instance.ttl, mx=instance.mx_level, status=status, record_line=instance.get_resolve_by()) # Record Remark dns_pod.post('Record.Remark', domain=domain_asset.name, record_id=instance.record_id, remark=instance.comment) # Record Remove dns_pod.post('Record.Remove', domain=domain_asset.name, record_id=instance.record_id) |
参考文档:https://www.dnspod.cn/docs/index.html
如果想赏钱,可以用微信扫描下面的二维码,一来能刺激我写博客的欲望,二来好维护云主机的费用; 另外再次标注博客原地址 itnotebooks.com 感谢!