class ResolverBase: (source)
Known subclasses: twisted.names.authority.FileAuthority
, twisted.names.cache.CacheResolver
, twisted.names.client.Resolver
, twisted.names.hosts.Resolver
, twisted.names.resolve.ResolverChain
, twisted.names.root.Resolver
Implements interfaces: twisted.internet.interfaces.IResolver
ResolverBase
is a base class for implementations of interfaces.IResolver
which deals with a lot of the boilerplate of implementing all of the lookup methods.
Method | __init__ |
Undocumented |
Method | exception |
Convert a response code (one of the possible values of dns.Message.rCode to an exception instance representing it. |
Method | get |
Resolve the domain name name into an IP address. |
Method | lookup |
Perform an A record lookup. |
Method | lookup |
Perform an A6 record lookup. |
Method | lookup |
Perform an AFSDB record lookup. |
Method | lookup |
Perform an ALL_RECORD lookup. |
Method | lookup |
Perform an SOA record lookup. |
Method | lookup |
Perform a CNAME record lookup. |
Method | lookup |
Perform a HINFO record lookup. |
Method | lookup |
Perform an AAAA record lookup. |
Method | lookup |
Perform an MB record lookup. |
Method | lookup |
Perform an MINFO record lookup. |
Method | lookup |
Perform an MX record lookup. |
Method | lookup |
Perform an MG record lookup. |
Method | lookup |
Perform an MR record lookup. |
Method | lookup |
Perform an NS record lookup. |
Method | lookup |
Perform a NAPTR record lookup. |
Method | lookup |
Perform a NULL record lookup. |
Method | lookup |
Perform a PTR record lookup. |
Method | lookup |
Perform an RP record lookup. |
Method | lookup |
Perform a SPF record lookup. |
Method | lookup |
Perform an SRV record lookup. |
Method | lookup |
Perform a TXT record lookup. |
Method | lookup |
Perform a WKS record lookup. |
Method | lookup |
Perform an AXFR record lookup. |
Method | query |
Dispatch query to the method which can handle its type. |
Instance Variable | type |
Undocumented |
Method | _cb |
Undocumented |
Method | _lookup |
Undocumented |
Class Variable | _errormap |
A dict mapping DNS protocol failure response codes to exception classes which will be used to represent those failures. |
Class Variable | _log |
Undocumented |
Convert a response code (one of the possible values of dns.Message.rCode
to an exception instance representing it.
Present Since | |
10.0 |
Resolve the domain name name into an IP address.
Parameters | |
name | DNS name to resolve. |
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed. |
effort | Undocumented |
Returns | |
The callback of the Deferred that is returned will be passed a string that represents the IP address of the specified name, or the errback will be called if the lookup times out. If multiple types of address records are associated with the name, A6 records will be returned in preference to AAAA records, which will be returned in preference to A records. If there are multiple records of the type to be returned, one will be selected at random. | |
Raises | |
twisted.internet.defer.TimeoutError | Raised (asynchronously) if the name cannot be resolved within the specified timeout period. |
twisted.names.hosts.Resolver
Perform an A record lookup.
Parameters | |
name | DNS name to resolve. |
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed. |
Returns | |
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError. |
Perform an A6 record lookup.
Parameters | |
name | DNS name to resolve. |
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed. |
Returns | |
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError. |
Perform an AFSDB record lookup.
Parameters | |
name | DNS name to resolve. |
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed. |
Returns | |
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError. |
Perform an ALL_RECORD lookup.
Parameters | |
name | DNS name to resolve. |
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed. |
Returns | |
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError. |
Perform an SOA record lookup.
Parameters | |
name | DNS name to resolve. |
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed. |
Returns | |
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError. |
Perform a CNAME record lookup.
Parameters | |
name | DNS name to resolve. |
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed. |
Returns | |
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError. |
Perform a HINFO record lookup.
Parameters | |
name | DNS name to resolve. |
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed. |
Returns | |
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError. |
twisted.names.hosts.Resolver
Perform an AAAA record lookup.
Parameters | |
name | DNS name to resolve. |
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed. |
Returns | |
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError. |
Perform an MB record lookup.
Parameters | |
name | DNS name to resolve. |
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed. |
Returns | |
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError. |
Perform an MINFO record lookup.
Parameters | |
name | DNS name to resolve. |
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed. |
Returns | |
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError. |
Perform an MX record lookup.
Parameters | |
name | DNS name to resolve. |
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed. |
Returns | |
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError. |
Perform an MG record lookup.
Parameters | |
name | DNS name to resolve. |
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed. |
Returns | |
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError. |
Perform an MR record lookup.
Parameters | |
name | DNS name to resolve. |
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed. |
Returns | |
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError. |
Perform an NS record lookup.
Parameters | |
name | DNS name to resolve. |
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed. |
Returns | |
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError. |
Perform a NAPTR record lookup.
Parameters | |
name | DNS name to resolve. |
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed. |
Returns | |
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError. |
Perform a NULL record lookup.
Parameters | |
name | DNS name to resolve. |
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed. |
Returns | |
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError. |
Perform a PTR record lookup.
Parameters | |
name | DNS name to resolve. |
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed. |
Returns | |
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError. |
Perform an RP record lookup.
Parameters | |
name | DNS name to resolve. |
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed. |
Returns | |
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError. |
Perform a SPF record lookup.
Parameters | |
name | DNS name to resolve. |
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed. |
Returns | |
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError. |
Perform an SRV record lookup.
Parameters | |
name | DNS name to resolve. |
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed. |
Returns | |
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError. |
Perform a TXT record lookup.
Parameters | |
name | DNS name to resolve. |
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed. |
Returns | |
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError. |
Perform a WKS record lookup.
Parameters | |
name | DNS name to resolve. |
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed. |
Returns | |
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError. |
Perform an AXFR record lookup.
NB This is quite different from other DNS requests. See http://cr.yp.to/djbdns/axfr-notes.html for more information.
NB Unlike other lookup* methods, the timeout here is not a list of ints, it is a single int.
Parameters | |
name | DNS name to resolve. |
timeout | When this timeout expires, the query is considered failed. |
Returns | |
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second and third elements are always empty. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError. |
Dispatch query to the method which can handle its type.
Parameters | |
query | The DNS query being issued, to which a response is to be generated. |
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed. |
Returns | |
A Deferred which fires with a three-tuple of lists of twisted.names.dns.RRHeader instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The Deferred may instead fail with one of the exceptions defined in twisted.names.error or with NotImplementedError. |