以DNSKEY 为例
update 密钥为 tsig
k ={'your-key-name', ' your-key-content-string'} #构建tsig key 的键值对词典
keyRing = dns.tsigkeyring.from_text(k)#使用该键值对词典构建tsig key的对象
#用tsig key 和 待update的目标域 如 test.com 来初始化Update对象。
#key algorithm参数,默认是hmac-md5,具体参数取值可以参见dns/tsig.py
#如果密钥的algorithm未指定正确或密钥不匹配,会报BadPeerKey 错误
myupdate = dns.update.Update("your-arget-zone ",keyring = keyRing , keyalgorithm = ''your-tsig-key-algorithm")
#构造dnskey对象
dnskey = dns.rdata.from_text(dns.rdataclass.IN,
dns.rdatatype.DNSKEY,
dns.tokenizer.Tokenizer("%d %d %d %s"% (keyflag, keyprotocal,keyalgorithm,keycontent))
)
#将dnskey加入update对象,如果是add操作即
myupdate.add("target-domain-name", TTL, dnskey)
#如果是delete操作
myupdate.delete("target-domain-name", dnskey)
#最后调用query的tcp 或udp 方法发送update
response = dns.query.tcp(myupdate, "your-target-server-ip ")