Resolver implements recursive lookup starting from a specified list of root servers.

Instance Variable hints See hints parameter of __init__
Method __init__ No summary
Instance Variable _maximumQueries See maximumQueries parameter of __init__
Instance Variable _reactor See reactor parameter of __init__
Instance Variable _resolverFactory See resolverFactory parameter of __init__
Method _roots Return a list of two-tuples representing the addresses of the root servers, as defined by self.hints.
Method _query Issue one query and return a Deferred which fires with its response.
Method _lookup Implement name lookup by recursively discovering the authoritative server for the name and then asking it, starting at one of the servers in self.hints.
Method _discoverAuthority Issue a query to a server and follow a delegation if necessary.
Method _discoveredAuthority Interpret the response to a query, checking for error codes and following delegations if necessary.

Inherited from ResolverBase:

Method exceptionForCode Convert a response code (one of the possible values of dns.Message.rCode to an exception instance representing it.
Method query Dispatch query to the method which can handle its type.
Method lookupAddress Perform an A record lookup.
Method lookupIPV6Address Perform an AAAA record lookup.
Method lookupAddress6 Perform an A6 record lookup.
Method lookupMailExchange Perform an MX record lookup.
Method lookupNameservers Perform an NS record lookup.
Method lookupCanonicalName Perform a CNAME record lookup.
Method lookupMailBox Perform an MB record lookup.
Method lookupMailGroup Perform an MG record lookup.
Method lookupMailRename Perform an MR record lookup.
Method lookupPointer Perform a PTR record lookup.
Method lookupAuthority Perform an SOA record lookup.
Method lookupNull Perform a NULL record lookup.
Method lookupWellKnownServices Perform a WKS record lookup.
Method lookupService Perform an SRV record lookup.
Method lookupHostInfo Perform a HINFO record lookup.
Method lookupMailboxInfo Perform an MINFO record lookup.
Method lookupText Perform a TXT record lookup.
Method lookupSenderPolicy Perform a SPF record lookup.
Method lookupResponsibility Perform an RP record lookup.
Method lookupAFSDatabase Perform an AFSDB record lookup.
Method lookupZone Perform an AXFR record lookup.
Method lookupNamingAuthorityPointer Perform a NAPTR record lookup.
Method lookupAllRecords Perform an ALL_RECORD lookup.
Method getHostByName Resolve the domain name name into an IP address.
Class Variable _errormap A dict mapping DNS protocol failure response codes to exception classes which will be used to represent those failures.
Method _cbRecords Undocumented
hints =
See hints parameter of __init__
_maximumQueries =
See maximumQueries parameter of __init__
_reactor =
See reactor parameter of __init__
_resolverFactory =
See resolverFactory parameter of __init__
def __init__(self, hints, maximumQueries=10, reactor=None, resolverFactory=None): (source)
ParametershintsA list of str giving the dotted quad representation of IP addresses of root servers at which to begin resolving names. (type: list of str)
maximumQueriesAn optional int giving the maximum number of queries which will be attempted to resolve a single name. (type: int)
reactorAn optional IReactorTime and IReactorUDP provider to use to bind UDP ports and manage timeouts. (type: IReactorTime and IReactorUDP provider)
resolverFactoryAn optional callable which accepts reactor and servers arguments and returns an instance that provides a queryUDP method. Defaults to twisted.names.client.Resolver. (type: callable)
def _roots(self): (source)

Return a list of two-tuples representing the addresses of the root servers, as defined by self.hints.

def _query(self, query, servers, timeout, filter): (source)

Issue one query and return a Deferred which fires with its response.

ParametersqueryThe query to issue. (type: dns.Query)
serversThe servers which might have an answer for this query. (type: list of tuple of str and int)
timeoutA timeout on how long to wait for the response. (type: tuple of int)
filterA flag indicating whether to filter the results. If True, the returned Deferred will fire with a three-tuple of lists of twisted.names.dns.RRHeader (like the return value of the lookup* methods of IResolver. IF False, the result will be a Message instance. (type: bool)
ReturnsA Deferred which fires with the response or a timeout error. (type: Deferred)
def _lookup(self, name, cls, type, timeout): (source)

Implement name lookup by recursively discovering the authoritative server for the name and then asking it, starting at one of the servers in self.hints.

def _discoverAuthority(self, query, servers, timeout, queriesLeft): (source)

Issue a query to a server and follow a delegation if necessary.

ParametersqueryThe query to issue. (type: dns.Query)
serversThe servers which might have an answer for this query. (type: list of tuple of str and int)
timeoutA tuple of int giving the timeout to use for this query.
queriesLeftA int giving the number of queries which may yet be attempted to answer this query before the attempt will be abandoned.
ReturnsA Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader giving the response, or with a Failure if there is a timeout or response error.
def _discoveredAuthority(self, response, query, timeout, queriesLeft): (source)

Interpret the response to a query, checking for error codes and following delegations if necessary.

ParametersresponseThe Message received in response to issuing query. (type: Message)
queryThe dns.Query which was issued. (type: dns.Query.)
timeoutThe timeout to use if another query is indicated by this response. (type: tuple of int)
queriesLeftA int giving the number of queries which may yet be attempted to answer this query before the attempt will be abandoned.
ReturnsA Failure indicating a response error, a three-tuple of lists of twisted.names.dns.RRHeader giving the response to query or a Deferred which will fire with one of those.
API Documentation for Twisted, generated by pydoctor at 2018-04-29 21:01:12.