Dns.GetHostEntry Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Resolve um nome do host ou endereço IP para uma instância IPHostEntry.
Sobrecargas
GetHostEntry(IPAddress) |
Resolve um endereço IP para uma instância IPHostEntry. |
GetHostEntry(String) |
Resolve um nome do host ou endereço IP para uma instância IPHostEntry. |
GetHostEntry(String, AddressFamily) |
Resolve um nome do host ou endereço IP para uma instância IPHostEntry. |
GetHostEntry(IPAddress)
- Origem:
- Dns.cs
- Origem:
- Dns.cs
- Origem:
- Dns.cs
Resolve um endereço IP para uma instância IPHostEntry.
public:
static System::Net::IPHostEntry ^ GetHostEntry(System::Net::IPAddress ^ address);
public static System.Net.IPHostEntry GetHostEntry (System.Net.IPAddress address);
static member GetHostEntry : System.Net.IPAddress -> System.Net.IPHostEntry
Public Shared Function GetHostEntry (address As IPAddress) As IPHostEntry
Parâmetros
- address
- IPAddress
Um endereço IP.
Retornos
Uma instância IPHostEntry que contém informações de endereço sobre o host especificado em address
.
Exceções
address
é null
.
Um erro foi encontrado durante a resolução de address
.
address
é um endereço IP inválido.
Exemplos
O exemplo de código a seguir usa o GetHostEntry método para resolver um endereço IP para uma IPHostEntry instância.
public:
static void DoGetHostEntry(IPAddress^ address)
{
IPHostEntry^ host = Dns::GetHostEntry(address);
Console::WriteLine("GetHostEntry({0}) returns HostName: {1}", address->ToString(), host->HostName);
}
public static void DoGetHostEntry(IPAddress address)
{
IPHostEntry host = Dns.GetHostEntry(address);
Console.WriteLine($"GetHostEntry({address}) returns HostName: {host.HostName}");
}
Public Sub DoGetHostEntry(address As IPAddress)
Dim host as IPHostEntry = Dns.GetHostEntry(address)
Console.WriteLine($"GetHostEntry({address}) returns HostName: {host.HostName}")
End Sub
Comentários
O GetHostEntry método consulta um servidor DNS para os endereços IP e aliases associados a um endereço IP.
Os endereços IPv6 serão filtrados dos resultados do GetHostEntry método se o computador local não tiver o IPv6 instalado. Como resultado, é possível recuperar uma instância vazia IPHostEntry se apenas os resultados IPv6 estivessem disponíveis para o address
parâmetro .
A Aliases propriedade da IPHostEntry instância retornada não é preenchida por esse método e sempre estará vazia.
Observação
Esse membro emite informações de rastreamento quando você habilita o rastreamento de rede em seu aplicativo. Para obter mais informações, consulte Rastreamento de rede no .NET Framework.
Aplica-se a
GetHostEntry(String)
- Origem:
- Dns.cs
- Origem:
- Dns.cs
- Origem:
- Dns.cs
Resolve um nome do host ou endereço IP para uma instância IPHostEntry.
public:
static System::Net::IPHostEntry ^ GetHostEntry(System::String ^ hostNameOrAddress);
public static System.Net.IPHostEntry GetHostEntry (string hostNameOrAddress);
static member GetHostEntry : string -> System.Net.IPHostEntry
Public Shared Function GetHostEntry (hostNameOrAddress As String) As IPHostEntry
Parâmetros
- hostNameOrAddress
- String
O nome do host ou endereço IP a ser resolvido.
Retornos
Uma instância IPHostEntry que contém informações de endereço sobre o host especificado em hostNameOrAddress
.
Exceções
O parâmetro hostNameOrAddress
é null
.
O tamanho do parâmetro hostNameOrAddress
é maior que 255 caracteres.
Erro ao resolver o parâmetro hostNameOrAddress
.
O parâmetro hostNameOrAddress
é um endereço IP inválido.
Exemplos
O exemplo a seguir usa o GetHostEntry método para resolver um endereço IP para uma IPHostEntry instância.
public:
static void DoGetHostEntry(String^ hostname)
{
IPHostEntry^ host = Dns::GetHostEntry(hostname);
Console::WriteLine("GetHostEntry({0}) returns:", host->HostName);
for (int i = 0; i < host->AddressList->Length; i++)
{
Console::WriteLine(" {0}", host->AddressList[i]->ToString());
}
}
public static void DoGetHostEntry(string hostname)
{
IPHostEntry host = Dns.GetHostEntry(hostname);
Console.WriteLine($"GetHostEntry({hostname}) returns:");
foreach (IPAddress address in host.AddressList)
{
Console.WriteLine($" {address}");
}
}
Public Sub DoGetHostEntry(hostName As String)
Dim host as IPHostEntry = Dns.GetHostEntry(hostname)
Console.WriteLine($"GetHostEntry({hostname}) returns:")
Dim addresses As IPAddress() = host.AddressList
Dim index As Integer
For index = 0 To addresses.Length - 1
Console.WriteLine($" {addresses(index)}")
Next index
End Sub
Comentários
O GetHostEntry método consulta um servidor DNS para o endereço IP associado a um nome de host ou endereço IP.
Se uma cadeia de caracteres vazia for passada como o hostNameOrAddress
argumento , esse método retornará os endereços IPv4 e IPv6 do host local.
Se o nome do host não puder ser encontrado, a SocketException exceção será retornada com um valor 11001 (erro do Windows Sockets WSAHOST_NOT_FOUND). Essa exceção poderá ser retornada se o servidor DNS não responder. Essa exceção também poderá ser retornada se o nome não for um nome de host oficial ou alias ou não puder ser encontrado nos bancos de dados que estão sendo consultados.
A ArgumentException exceção também será retornada se o hostNameOrAddress
parâmetro contiver Any ou IPv6Any.
O GetHostEntry método pressupõe que, se uma cadeia de caracteres literal de IP for passada no hostNameOrAddress
parâmetro que o aplicativo deseja que uma IPHostEntry instância retorne com todas as propriedades definidas. Essas propriedades incluem , AddressListAliasese HostName. Como resultado, a implementação do GetHostEntry método exibe o seguinte comportamento quando um literal de cadeia de caracteres IP é passado:
O método tenta analisar o endereço. Se o
hostNameOrAddress
parâmetro contiver um literal de cadeia de caracteres IP legal, a primeira fase terá êxito.Uma pesquisa inversa usando o endereço IP do literal da cadeia de caracteres IP é tentada para obter o nome do host. Esse resultado é definido como a HostName propriedade .
O nome do host dessa pesquisa inversa é usado novamente para obter todos os endereços IP possíveis associados ao nome e definidos como a AddressList propriedade .
Para um literal de cadeia de caracteres IPv4, todas as três etapas acima podem ter êxito. Mas é possível que um registro DNS obsoleto para um endereço IPv4 que realmente pertence a um host diferente seja retornado. Isso pode fazer com que a etapa 3 falhe e gere uma exceção (há um registro PTR DNS para o endereço IPv4, mas nenhum registro DNS A para o endereço IPv4).
Para IPv6, a etapa 2 acima pode falhar, pois a maioria das implantações IPv6 não registra o registro inverso (PTR) para um endereço IPv6. Portanto, esse método pode retornar a cadeia de caracteres IPv6 literal como o nome de host de domínio totalmente qualificado (FQDN) na HostName propriedade .
O GetHostAddresses método tem um comportamento diferente em relação aos literais de IP. Se a etapa nº 1 acima for bem-sucedida (ela analisará com êxito como um endereço IP), esse endereço será retornado imediatamente como resultado. Não há nenhuma tentativa de pesquisa inversa.
Os endereços IPv6 serão filtrados dos resultados do GetHostEntry método se o computador local não tiver o IPv6 instalado. Como resultado, é possível recuperar uma instância vazia IPHostEntry se apenas os resultados IPv6 estiverem disponíveis para o hostNameOrAddress
parâmetro .
A Aliases propriedade da IPHostEntry instância retornada não é preenchida por esse método e sempre estará vazia.
Observação
Esse membro emite informações de rastreamento quando você habilita o rastreamento de rede em seu aplicativo. Para obter mais informações, consulte Rastreamento de rede no .NET Framework.
Aplica-se a
GetHostEntry(String, AddressFamily)
- Origem:
- Dns.cs
- Origem:
- Dns.cs
- Origem:
- Dns.cs
Resolve um nome do host ou endereço IP para uma instância IPHostEntry.
public:
static System::Net::IPHostEntry ^ GetHostEntry(System::String ^ hostNameOrAddress, System::Net::Sockets::AddressFamily family);
public static System.Net.IPHostEntry GetHostEntry (string hostNameOrAddress, System.Net.Sockets.AddressFamily family);
static member GetHostEntry : string * System.Net.Sockets.AddressFamily -> System.Net.IPHostEntry
Public Shared Function GetHostEntry (hostNameOrAddress As String, family As AddressFamily) As IPHostEntry
Parâmetros
- hostNameOrAddress
- String
O nome do host ou endereço IP a ser resolvido.
- family
- AddressFamily
A família de endereços para a qual os IPs devem ser recuperados. Se Unspecified, recupere todos os IPs, independentemente da família de endereços.
Retornos
Uma IPHostEntry instância que contém as informações de endereço sobre o host especificado em hostNameOrAddress
.