summaryrefslogtreecommitdiff
path: root/examples/async_dns.py
blob: c42defcc325f4f4ec246a567586e4ed407407b7f (plain)
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

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)