summaryrefslogtreecommitdiff
path: root/examples/query_specific.py
diff options
context:
space:
mode:
Diffstat (limited to 'examples/query_specific.py')
-rw-r--r--examples/query_specific.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/examples/query_specific.py b/examples/query_specific.py
new file mode 100644
index 0000000..2da2cdf
--- /dev/null
+++ b/examples/query_specific.py
@@ -0,0 +1,39 @@
+#!/usr/bin/env python
+
+# Two ways of querying a specific nameserver.
+
+from __future__ import print_function
+
+import dns.message
+import dns.rdataclass
+import dns.rdatatype
+import dns.query
+
+# This way is just like nslookup/dig:
+
+qname = dns.name.from_text('amazon.com')
+q = dns.message.make_query(qname, dns.rdatatype.NS)
+print('The query is:')
+print(q)
+print('')
+r = dns.query.udp(q, '8.8.8.8')
+print('The response is:')
+print(r)
+print('')
+print('The nameservers are:')
+ns_rrset = r.find_rrset(r.answer, qname, dns.rdataclass.IN, dns.rdatatype.NS)
+for rr in ns_rrset:
+ print(rr.target)
+print('')
+print('')
+
+# A higher-level way
+
+import dns.resolver
+
+resolver = dns.resolver.Resolver(configure=False)
+resolver.nameservers = ['8.8.8.8']
+answer = dns.resolver.query('amazon.com', 'NS')
+print('The nameservers are:')
+for rr in answer:
+ print(rr.target)