]> git.ipfire.org Git - thirdparty/dnspython.git/commitdiff
add example of querying a specific server
authorBob Halley <halley@dnspython.org>
Fri, 30 Dec 2016 20:35:52 +0000 (12:35 -0800)
committerBob Halley <halley@dnspython.org>
Fri, 30 Dec 2016 20:35:52 +0000 (12:35 -0800)
examples/query_specific.py [new file with mode: 0644]

diff --git a/examples/query_specific.py b/examples/query_specific.py
new file mode 100644 (file)
index 0000000..2da2cdf
--- /dev/null
@@ -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)