Go to the latest version of this document.

# ``twisted`.`internet`.`interfaces`.`IResolver``

interface documentation

`class IResolver(IResolverSimple): (source)`

Known implementations: `twisted.names.client`, `twisted.names.common.ResolverBase`, `twisted.names.resolve.ResolverChain`

View In Hierarchy

Undocumented

Method | `lookupAddress` | Perform an A record lookup.
Method | `lookupAddress6` | Perform an A6 record lookup.
Method | `lookupAFSDatabase` | Perform an AFSDB record lookup.
Method | `lookupAllRecords` | Perform an ALL_RECORD lookup.
Method | `lookupAuthority` | Perform an SOA record lookup.
Method | `lookupCanonicalName` | Perform a CNAME record lookup.
Method | `lookupHostInfo` | Perform a HINFO record lookup.
Method | `lookupIPV6Address` | Perform an AAAA record lookup.
Method | `lookupMailBox` | Perform an MB record lookup.
Method | `lookupMailboxInfo` | Perform an MINFO record lookup.
Method | `lookupMailExchange` | Perform an MX record lookup.
Method | `lookupMailGroup` | Perform an MG record lookup.
Method | `lookupMailRename` | Perform an MR record lookup.
Method | `lookupNameservers` | Perform an NS record lookup.
Method | `lookupNamingAuthorityPointer` | Perform a NAPTR record lookup.
Method | `lookupNull` | Perform a NULL record lookup.
Method | `lookupPointer` | Perform a PTR record lookup.
Method | `lookupResponsibility` | Perform an RP record lookup.
Method | `lookupSenderPolicy` | Perform a SPF record lookup.
Method | `lookupService` | Perform an SRV record lookup.
Method | `lookupText` | Perform a TXT record lookup.
Method | `lookupWellKnownServices` | Perform a WKS record lookup.
Method | `lookupZone` | Perform an AXFR record lookup.
Method | `query` | Dispatch `query` to the method which can handle its type.

Inherited from `IResolverSimple`:

Method | `getHostByName` | Resolve the domain name `name` into an IP address.

def lookupAddress(name: `str`, timeout: `Sequence[int]`) -> `Deferred[tuple[RRHeader, RRHeader, RRHeader]]`: (source)

Perform an A record lookup.

Parameters
name:`str` | DNS name to resolve.
timeout:`Sequence[int]` | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.

Returns

`Deferred[tuple[RRHeader, RRHeader, RRHeader]]`

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`.

def lookupAddress6(name: `str`, timeout: `Sequence[int]`) -> `Deferred[tuple[RRHeader, RRHeader, RRHeader]]`: (source)

Perform an A6 record lookup.

Parameters
name:`str` | DNS name to resolve.
timeout:`Sequence[int]` | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.

Returns

`Deferred[tuple[RRHeader, RRHeader, RRHeader]]`

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`.

def lookupAFSDatabase(name: `str`, timeout: `Sequence[int]`) -> `Deferred[tuple[RRHeader, RRHeader, RRHeader]]`: (source)

Perform an AFSDB record lookup.

Parameters
name:`str` | DNS name to resolve.
timeout:`Sequence[int]` | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.

Returns

`Deferred[tuple[RRHeader, RRHeader, RRHeader]]`

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`.

def lookupAllRecords(name: `str`, timeout: `Sequence[int]`) -> `Deferred[tuple[RRHeader, RRHeader, RRHeader]]`: (source)

Perform an ALL_RECORD lookup.

Parameters
name:`str` | DNS name to resolve.
timeout:`Sequence[int]` | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.

Returns

`Deferred[tuple[RRHeader, RRHeader, RRHeader]]`

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`.

def lookupAuthority(name: `str`, timeout: `Sequence[int]`) -> `Deferred[tuple[RRHeader, RRHeader, RRHeader]]`: (source)

Perform an SOA record lookup.

Parameters
name:`str` | DNS name to resolve.
timeout:`Sequence[int]` | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.

Returns

`Deferred[tuple[RRHeader, RRHeader, RRHeader]]`

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`.

def lookupCanonicalName(name: `str`, timeout: `Sequence[int]`) -> `Deferred[tuple[RRHeader, RRHeader, RRHeader]]`: (source)

Perform a CNAME record lookup.

Parameters
name:`str` | DNS name to resolve.
timeout:`Sequence[int]` | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.

Returns

`Deferred[tuple[RRHeader, RRHeader, RRHeader]]`

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`.

def lookupHostInfo(name: `str`, timeout: `Sequence[int]`) -> `Deferred[tuple[RRHeader, RRHeader, RRHeader]]`: (source)

Perform a HINFO record lookup.

Parameters
name:`str` | DNS name to resolve.
timeout:`Sequence[int]` | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.

Returns

`Deferred[tuple[RRHeader, RRHeader, RRHeader]]`

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`.

def lookupIPV6Address(name: `str`, timeout: `Sequence[int]`) -> `Deferred[tuple[RRHeader, RRHeader, RRHeader]]`: (source)

Perform an AAAA record lookup.

Parameters
name:`str` | DNS name to resolve.
timeout:`Sequence[int]` | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.

Returns

`Deferred[tuple[RRHeader, RRHeader, RRHeader]]`

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`.

def lookupMailBox(name: `str`, timeout: `Sequence[int]`) -> `Deferred[tuple[RRHeader, RRHeader, RRHeader]]`: (source)

Perform an MB record lookup.

Parameters
name:`str` | DNS name to resolve.
timeout:`Sequence[int]` | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.

Returns

`Deferred[tuple[RRHeader, RRHeader, RRHeader]]`

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`.

def lookupMailboxInfo(name: `str`, timeout: `Sequence[int]`) -> `Deferred[tuple[RRHeader, RRHeader, RRHeader]]`: (source)

Perform an MINFO record lookup.

Parameters
name:`str` | DNS name to resolve.
timeout:`Sequence[int]` | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.

Returns

`Deferred[tuple[RRHeader, RRHeader, RRHeader]]`

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`.

def lookupMailExchange(name: `str`, timeout: `Sequence[int]`) -> `Deferred[tuple[RRHeader, RRHeader, RRHeader]]`: (source)

Perform an MX record lookup.

Parameters
name:`str` | DNS name to resolve.
timeout:`Sequence[int]` | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.

Returns

`Deferred[tuple[RRHeader, RRHeader, RRHeader]]`

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`.

def lookupMailGroup(name: `str`, timeout: `Sequence[int]`) -> `Deferred[tuple[RRHeader, RRHeader, RRHeader]]`: (source)

Perform an MG record lookup.

Parameters
name:`str` | DNS name to resolve.
timeout:`Sequence[int]` | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.

Returns

`Deferred[tuple[RRHeader, RRHeader, RRHeader]]`

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`.

def lookupMailRename(name: `str`, timeout: `Sequence[int]`) -> `Deferred[tuple[RRHeader, RRHeader, RRHeader]]`: (source)

Perform an MR record lookup.

Parameters
name:`str` | DNS name to resolve.
timeout:`Sequence[int]` | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.

Returns

`Deferred[tuple[RRHeader, RRHeader, RRHeader]]`

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`.

def lookupNameservers(name: `str`, timeout: `Sequence[int]`) -> `Deferred[tuple[RRHeader, RRHeader, RRHeader]]`: (source)

Perform an NS record lookup.

Parameters
name:`str` | DNS name to resolve.
timeout:`Sequence[int]` | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.

Returns

`Deferred[tuple[RRHeader, RRHeader, RRHeader]]`

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`.

def lookupNamingAuthorityPointer(name: `str`, timeout: `Sequence[int]`) -> `Deferred[tuple[RRHeader, RRHeader, RRHeader]]`: (source)

Perform a NAPTR record lookup.

Parameters
name:`str` | DNS name to resolve.
timeout:`Sequence[int]` | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.

Returns

`Deferred[tuple[RRHeader, RRHeader, RRHeader]]`

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`.

def lookupNull(name: `str`, timeout: `Sequence[int]`) -> `Deferred[tuple[RRHeader, RRHeader, RRHeader]]`: (source)

Perform a NULL record lookup.

Parameters
name:`str` | DNS name to resolve.
timeout:`Sequence[int]` | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.

Returns

`Deferred[tuple[RRHeader, RRHeader, RRHeader]]`

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`.

def lookupPointer(name: `str`, timeout: `Sequence[int]`) -> `Deferred[tuple[RRHeader, RRHeader, RRHeader]]`: (source)

Perform a PTR record lookup.

Parameters
name:`str` | DNS name to resolve.
timeout:`Sequence[int]` | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.

Returns

`Deferred[tuple[RRHeader, RRHeader, RRHeader]]`

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`.

def lookupResponsibility(name: `str`, timeout: `Sequence[int]`) -> `Deferred[tuple[RRHeader, RRHeader, RRHeader]]`: (source)

Perform an RP record lookup.

Parameters
name:`str` | DNS name to resolve.
timeout:`Sequence[int]` | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.

Returns

`Deferred[tuple[RRHeader, RRHeader, RRHeader]]`

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`.

def lookupSenderPolicy(name: `str`, timeout: `Sequence[int]`) -> `Deferred[tuple[RRHeader, RRHeader, RRHeader]]`: (source)

Perform a SPF record lookup.

Parameters
name:`str` | DNS name to resolve.
timeout:`Sequence[int]` | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.

Returns

`Deferred[tuple[RRHeader, RRHeader, RRHeader]]`

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`.

def lookupService(name: `str`, timeout: `Sequence[int]`) -> `Deferred[tuple[RRHeader, RRHeader, RRHeader]]`: (source)

Perform an SRV record lookup.

Parameters
name:`str` | DNS name to resolve.
timeout:`Sequence[int]` | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.

Returns

`Deferred[tuple[RRHeader, RRHeader, RRHeader]]`

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`.

def lookupText(name: `str`, timeout: `Sequence[int]`) -> `Deferred[tuple[RRHeader, RRHeader, RRHeader]]`: (source)

Perform a TXT record lookup.

Parameters
name:`str` | DNS name to resolve.
timeout:`Sequence[int]` | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.

Returns

`Deferred[tuple[RRHeader, RRHeader, RRHeader]]`

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`.

def lookupWellKnownServices(name: `str`, timeout: `Sequence[int]`) -> `Deferred[tuple[RRHeader, RRHeader, RRHeader]]`: (source)

Perform a WKS record lookup.

Parameters
name:`str` | DNS name to resolve.
timeout:`Sequence[int]` | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.

Returns

`Deferred[tuple[RRHeader, RRHeader, RRHeader]]`

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`.

def lookupZone(name: `str`, timeout: `Sequence[int]`) -> `Deferred[tuple[RRHeader, RRHeader, RRHeader]]`: (source)

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:`str` | DNS name to resolve.
timeout:`Sequence[int]` | When this timeout expires, the query is considered failed.

Returns
`Deferred[tuple[RRHeader, RRHeader, RRHeader]]` | 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`.

def query(query: `Query`, timeout: `Sequence[int]`) -> `Deferred[tuple[RRHeader, RRHeader, RRHeader]]`: (source)

Dispatch `query` to the method which can handle its type.

Parameters
query:`Query` | The DNS query being issued, to which a response is to be generated.
timeout:`Sequence[int]` | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.

Returns

`Deferred[tuple[RRHeader, RRHeader, RRHeader]]`

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`.