DNS/実装/python/dnspython/test_query.pyについて、ここに記述してください。
import socket import sys import time import unittest try: import ssl have_ssl = True except Exception: have_ssl = False import dns.exception import dns.inet import dns.message import dns.name import dns.rdataclass import dns.rdatatype import dns.query import dns.tsigkeyring import dns.zone query_addresses = [] for (af, address) in ((socket.AF_INET, '8.8.8.8'), (socket.AF_INET6, '2001:4860:4860::8888')): try: with socket.socket(af, socket.SOCK_DGRAM) as s: # Connecting a UDP socket is supposed to return ENETUNREACH if # no route to the network is present. s.connect((address, 53)) query_addresses.append(address) except Exception: pass def testQueryUDP(self): for address in query_addresses: qname = dns.name.from_text('dns.google.') q = dns.message.make_query(qname, dns.rdatatype.A) response = dns.query.udp(q, address, timeout=2) rrs = response.get_rrset(response.answer, qname, dns.rdataclass.IN, dns.rdatatype.A) self.assertTrue(rrs is not None) seen = set([rdata.address for rdata in rrs]) self.assertTrue('8.8.8.8' in seen) self.assertTrue('8.8.4.4' in seen)