import sys import trio import dns.message import dns.asyncquery import dns.asyncresolver async def main(): if len(sys.argv) > 1: host = sys.argv[0] else: host = "www.dnspython.org" q = dns.message.make_query(host, "A") r = await dns.asyncquery.udp(q, "8.8.8.8") print(r) q = dns.message.make_query(host, "A") r = await dns.asyncquery.tcp(q, "8.8.8.8") print(r) q = dns.message.make_query(host, "A") r = await dns.asyncquery.tls(q, "8.8.8.8") print(r) a = await dns.asyncresolver.resolve(host, "A") print(a.response) zn = await dns.asyncresolver.zone_for_name(host) print(zn) if __name__ == "__main__": trio.run(main)