twisted.names.client.Resolver(common.ResolverBase) class documentationtwisted.names.client
(View In Hierarchy)
| Method | __init__ | No summary | 
| Method | __getstate__ | Undocumented | 
| Method | __setstate__ | Undocumented | 
| Method | maybeParseConfig | Undocumented | 
| Method | parseConfig | Undocumented | 
| Method | pickServer | Return the address of a nameserver. | 
| Method | connectionMade | Called by associated dns.DNSProtocolinstances when they connect. | 
| Method | connectionLost | Called by associated dns.DNSProtocolinstances when they disconnect. | 
| Method | messageReceived | Undocumented | 
| Method | queryUDP | Make a number of DNS queries via UDP. | 
| Method | queryTCP | Make a number of DNS queries via TCP. | 
| Method | filterAnswers | Extract results from the given message. | 
| Method | lookupZone | Perform an AXFR record lookup. | 
| Instance Variable | _waiting | A dictmapping tuple keys of query name/type/class to 
Deferreds which will be called back with the result of those queries. This 
is used to avoid issuing the same query more than once in parallel.  This 
is more efficient on the network and helps avoid a "birthday 
paradox" attack by keeping the number of outstanding requests for a 
particular query fixed at one instead of allowing the attacker to raise it 
to an arbitrary number. | 
| Instance Variable | _reactor | A provider of IReactorTCP,IReactorUDP,
andIReactorTimewhich will be used to set up network resources and track timeouts. | 
| Method | _openFile | Wrapper used for opening files in the class, exists primarily for unit testing purposes. | 
| Method | _connectedProtocol | Return a new DNSDatagramProtocolbound to a randomly selected port number. | 
| Method | _query | Get a new DNSDatagramProtocolinstance from_connectedProtocol,
issue a query to it using*args, and arrange for it to be 
disconnected from its transport after the query completes. | 
| Method | _reissue | Undocumented | 
| Method | _lookup | Build a dns.Queryfor the 
given parameters and dispatch it via UDP. | 
| Method | _timeoutZone | Undocumented | 
| Method | _cbLookupZone | Undocumented | 
Inherited from ResolverBase:
| Method | exceptionForCode | Convert a response code (one of the possible values of dns.Message.rCodeto an exception instance representing it. | 
| Method | query | Dispatch queryto 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 | lookupNamingAuthorityPointer | Perform a NAPTR record lookup. | 
| Method | lookupAllRecords | Perform an ALL_RECORD lookup. | 
| Method | getHostByName | Resolve the domain name nameinto an IP address. | 
| Class Variable | _errormap | A dictmapping DNS protocol failure response codes to 
exception classes which will be used to represent those failures. | 
| Method | _cbRecords | Undocumented | 
dict mapping tuple keys of query name/type/class to 
Deferreds which will be called back with the result of those queries. This 
is used to avoid issuing the same query more than once in parallel.  This 
is more efficient on the network and helps avoid a "birthday 
paradox" attack by keeping the number of outstanding requests for a 
particular query fixed at one instead of allowing the attacker to raise it 
to an arbitrary number.
  IReactorTCP,
IReactorUDP,
and IReactorTime
which will be used to set up network resources and track timeouts.
  Construct a resolver which will query domain name servers listed in the 
resolv.conf(5)-format file given by resolv as 
well as those in the given servers list.  Servers are queried 
in a round-robin fashion.  If given, resolv is periodically 
checked for modification and re-parsed if it is noticed to have 
changed.
| Parameters | servers | If not None, interpreted as a list of (host, port) pairs specifying 
addresses of domain name servers to attempt to use for this lookup.  Host 
addresses should be in IPv4 dotted-quad form.  If specified, overrides resolv. (type:listof(str, int)orNone) | 
| resolv | Filename to read and parse as a resolver(5) configuration file. (type: str) | |
| timeout | Default number of seconds after which to reissue the query.  When the last 
timeout expires, the query is considered failed. (type: Sequence of int) | |
| reactor | A provider of IReactorTime,IReactorUDP,
andIReactorTCPwhich will be used to establish connections, listen for DNS datagrams, and 
enforce timeouts.  If not provided, the global reactor will be used. | |
| Raises | ValueError | Raised if no nameserver addresses can be found. | 
Wrapper used for opening files in the class, exists primarily for unit testing purposes.
Return the address of a nameserver.
TODO: Weight servers for response time so faster ones can be preferred.
Return a new DNSDatagramProtocol
bound to a randomly selected port number.
Called by associated dns.DNSProtocol 
instances when they connect.
Called by associated dns.DNSProtocol 
instances when they disconnect.
Get a new DNSDatagramProtocol
instance from _connectedProtocol,
issue a query to it using *args, and arrange for it to be 
disconnected from its transport after the query completes.
| Parameters | *args | Positional arguments to be passed to DNSDatagramProtocol.query. | 
| Returns | A Deferredwhich will be called back with the result of the query. | |
Make a number of DNS queries via UDP.
| Parameters | queries | The queries to make. (type: A listofdns.Queryinstances) | 
| timeout | Number of seconds after which to reissue the query. When the last timeout 
expires, the query is considered failed. (type: Sequence of int) | |
| Returns | (type: Deferred@raisetwisted.internet.defer.TimeoutError: When the query times out.) | |
Make a number of DNS queries via TCP.
| Parameters | queries | The queries to make. (type: Any non-zero number of dns.Queryinstances) | 
| timeout | The number of seconds after which to fail. (type: int) | |
| Returns | (type: Deferred) | |
Extract results from the given message.
If the message was truncated, re-attempt the query over TCP and return a Deferred which will fire with the results of that query.
If the message's result code is not twisted.names.dns.OK, 
return a Failure indicating the type of error which occurred.
Otherwise, return a three-tuple of lists containing the results from the answers section, the authority section, and the additional section.
Build a dns.Query for the 
given parameters and dispatch it via UDP.
If this query is already outstanding, it will not be re-issued. Instead, when the outstanding query receives a response, that response will be re-used for this query as well.
| Returns | A Deferredwhich fires with a three-tuple giving the answer, authority, and additional
sections of the response or with aFailureif the 
response code is anything other thandns.OK. | |
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. (type: bytesorstr) | 
| timeout | When this timeout expires, the query is considered failed. (type: int) | |
| Returns | A Deferredwhich fires with a three-tuple of lists oftwisted.names.dns.RRHeaderinstances. The first element of the tuple gives answers. The second and 
third elements are always empty. TheDeferredmay 
instead fail with one of the exceptions defined intwisted.names.erroror 
withNotImplementedError. (type:Deferred) | |