/usr/share/doc/python3-dns/examples
NameSizeModeActions
async_dns.py8740644editdlrm
ddns.py11940644editdlrm
ddr.py9500644editdlrm
doh-json.py30010644editdlrm
doh.py5340644editdlrm
doq.py31430644editdlrm
e164.py1150644editdlrm
ecs.py4500644editdlrm
edns.py17390644editdlrm
edns_resolver.py15320644editdlrm
mx.py1890644editdlrm
name.py3560644editdlrm
query_specific.py16550644editdlrm
receive_notify.py10220644editdlrm
reverse.py13890644editdlrm
reverse_name.py1400644editdlrm
send_notify.py24620644editdlrm
wire_read_tcp.py16590644editdlrm
xfr.py3400644editdlrm
zonediff.py121730644editdlrm
Edit: /usr/share/doc/python3-dns/examples/ddr.py (950B)
#!/usr/bin/env python3 # Using Discovery of Designated Resolvers (synchronous I/O) import dns.resolver res = dns.resolver.Resolver(configure=False) res.nameservers = ["1.1.1.1"] # Invoke try_ddr() to attempt to upgrade the connection via DDR res.try_ddr() # Do a sample resolution for rr in res.resolve("www.google.com", "A"): print(rr.address) # Note that the nameservers have been upgraded print(res.nameservers) # Using Discovery of Designated Resolvers (asynchronous I/O) # We show using asyncio, but if you comment out asyncio lines # and uncomment the trio lines, it will work with trio too. import asyncio # import trio import dns.asyncresolver async def amain(): res = dns.asyncresolver.Resolver(configure=False) res.nameservers = ["8.8.8.8"] await res.try_ddr() for rr in await res.resolve("www.google.com", "A"): print(rr.address) print(res.nameservers) asyncio.run(amain()) # trio.run(amain)