Compartilhar via


Dns.GetHostEntry Método

Definição

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:

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

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

  3. 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 hostNameOrAddressparâ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.

Aplica-se a