Codebase list dnspython / 0d8d2e25-c2d4-42ae-825c-ff4654e5d918/main examples / trio.py
0d8d2e25-c2d4-42ae-825c-ff4654e5d918/main

Tree @0d8d2e25-c2d4-42ae-825c-ff4654e5d918/main (Download .tar.gz)

trio.py @0d8d2e25-c2d4-42ae-825c-ff4654e5d918/mainraw · history · blame

import sys
import trio

import dns.message
import dns.trio.query
import dns.trio.resolver

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.trio.query.udp(q, '8.8.8.8')
    print(r)
    q = dns.message.make_query(host, 'A')
    r = await dns.trio.query.stream(q, '8.8.8.8')
    print(r)
    q = dns.message.make_query(host, 'A')
    r = await dns.trio.query.stream(q, '8.8.8.8', tls=True)
    print(r)
    a = await dns.trio.resolver.resolve(host, 'A')
    print(a.response)
    zn = await dns.trio.resolver.zone_for_name(host)
    print(zn)

if __name__ == '__main__':
    trio.run(main)