# ``twisted`.`internet`.`interfaces`.`IHostnameResolver``

interface documentation

`class IHostnameResolver(Interface): (source)`

Known implementations: `twisted.internet._resolver.GAIResolver`, `twisted.internet._resolver.SimpleResolverComplexifier`, `twisted.internet.endpoints._SimpleHostnameResolver`

View In Hierarchy

An `IHostnameResolver` can resolve a host name and port number into a series of `IAddress` objects.

Present Since
Twisted 17.1.0

Method | `resolveHostName` | Initiate a hostname resolution.

def resolveHostName(resolutionReceiver, hostName, portNumber, addressTypes, transportSemantics): (source)
Initiate a hostname resolution.

Parameters
resolutionReceiver:`IResolutionReceiver` | an object that will receive each resolved address as it arrives.
hostName:`str` | The name of the host to resolve. If this contains non-ASCII code points, they will be converted to IDNA first.
portNumber:`int` | The port number that the returned addresses should include.
addressTypes:`Sequence[IAddress]` | An iterable of implementors of `IAddress` that are acceptable values for `resolutionReceiver` to receive to its `addressResolved`. In practice, this means an iterable containing `twisted.internet.address.IPv4Address`, `twisted.internet.address.IPv6Address`, both, or neither.
transportSemantics:`str` | A string describing the semantics of the transport; either `'TCP'` for stream-oriented transports or `'UDP'` for datagram-oriented; see `twisted.internet.address.IPv6Address.type` and `twisted.internet.address.IPv4Address.type`.
Returns
`IResolutionReceiver` | The resolution in progress.