Compartir vía


Dns.GetHostEntry Método

Definición

Resuelve un nombre de host o una dirección IP en una instancia de IPHostEntry.

Sobrecargas

GetHostEntry(IPAddress)

Resuelve una dirección IP en una instancia de IPHostEntry.

GetHostEntry(String)

Resuelve un nombre de host o una dirección IP en una instancia de IPHostEntry.

GetHostEntry(String, AddressFamily)

Resuelve un nombre de host o una dirección IP en una instancia de IPHostEntry.

GetHostEntry(IPAddress)

Source:
Dns.cs
Source:
Dns.cs
Source:
Dns.cs

Resuelve una dirección IP en una instancia de 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

Dirección IP.

Devoluciones

Instancia de IPHostEntry que contiene información de dirección del host especificado en address.

Excepciones

address es null.

Se detectó un error al resolver address.

address no es una dirección IP válida.

Ejemplos

En el ejemplo de código siguiente se usa el GetHostEntry método para resolver una dirección IP en una IPHostEntry instancia de .

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

Comentarios

El GetHostEntry método consulta un servidor DNS para las direcciones IP y los alias asociados a una dirección IP.

Las direcciones IPv6 se filtran de los resultados del GetHostEntry método si el equipo local no tiene instalado IPv6. Como resultado, es posible recuperar una instancia vacía IPHostEntry si solo había resultados IPv6 disponibles para el address parámetro .

Este Aliases método no rellena la propiedad de la IPHostEntry instancia devuelta y siempre estará vacía.

Nota

Este miembro emite información de seguimiento al habilitar el seguimiento de red en la aplicación. Para obtener más información, vea Seguimiento de red en .NET Framework.

Se aplica a

GetHostEntry(String)

Source:
Dns.cs
Source:
Dns.cs
Source:
Dns.cs

Resuelve un nombre de host o una dirección IP en una instancia de 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

Nombre de host o dirección IP que se va a resolver.

Devoluciones

Instancia de IPHostEntry que contiene información de dirección del host especificado en hostNameOrAddress.

Excepciones

El parámetro hostNameOrAddress es null.

La longitud del parámetro hostNameOrAddress es mayor que 255 caracteres.

Se produjo un error al resolver el parámetro hostNameOrAddress.

El parámetro hostNameOrAddress no tiene una dirección IP válida.

Ejemplos

En el ejemplo siguiente se usa el GetHostEntry método para resolver una dirección IP en una IPHostEntry instancia de .

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

Comentarios

El GetHostEntry método consulta un servidor DNS para la dirección IP asociada a un nombre de host o una dirección IP.

Si se pasa una cadena vacía como hostNameOrAddress argumento, este método devuelve las direcciones IPv4 e IPv6 del host local.

Si no se encuentra el nombre de host, la SocketException excepción se devuelve con un valor 11001 (error de Windows Sockets WSAHOST_NOT_FOUND). Esta excepción se puede devolver si el servidor DNS no responde. Esta excepción también se puede devolver si el nombre no es un nombre de host o alias oficial, o no se encuentra en las bases de datos consultadas.

La ArgumentException excepción también se devuelve si el hostNameOrAddress parámetro contiene Any o IPv6Any.

El GetHostEntry método supone que si se pasa una cadena literal IP en el hostNameOrAddress parámetro que la aplicación quiere que se devuelva una IPHostEntry instancia con todas las propiedades establecidas. Estas propiedades incluyen AddressList, Aliasesy HostName. Como resultado, la implementación del GetHostEntry método muestra el comportamiento siguiente cuando se pasa un literal de cadena IP:

  1. El método intenta analizar la dirección. Si el hostNameOrAddress parámetro contiene un literal de cadena IP legal, la primera fase se realiza correctamente.

  2. Se intenta obtener el nombre de host una búsqueda inversa mediante la dirección IP del literal de cadena IP. Este resultado se establece como la HostName propiedad .

  3. El nombre de host de esta búsqueda inversa se usa de nuevo para obtener todas las direcciones IP posibles asociadas al nombre y establecer como la AddressList propiedad .

Para un literal de cadena IPv4, los tres pasos anteriores pueden realizarse correctamente. Pero es posible que se devuelva un registro DNS obsoleto para una dirección IPv4 que pertenece realmente a otro host. Esto puede provocar un error en el paso 3 y producir una excepción (hay un registro PTR de DNS para la dirección IPv4, pero no hay ningún registro A de DNS para la dirección IPv4).

En el caso de IPv6, el paso 2 anterior puede producir un error, ya que la mayoría de las implementaciones de IPv6 no registran el registro inverso (PTR) para una dirección IPv6. Por lo tanto, este método puede devolver el literal IPv6 de cadena como nombre de host de dominio completo (FQDN) en la HostName propiedad .

El GetHostAddresses método tiene un comportamiento diferente con respecto a los literales ip. Si el paso 1 anterior se realiza correctamente (analiza correctamente como una dirección IP), esa dirección se devuelve inmediatamente como resultado. No hay ningún intento de búsqueda inversa.

Las direcciones IPv6 se filtran de los resultados del GetHostEntry método si el equipo local no tiene instalado IPv6. Como resultado, es posible recuperar una instancia vacía IPHostEntry si solo los resultados de IPv6 están disponibles para el hostNameOrAddressparámetro .

Este Aliases método no rellena la propiedad de la IPHostEntry instancia devuelta y siempre estará vacía.

Nota

Este miembro emite información de seguimiento al habilitar el seguimiento de red en la aplicación. Para obtener más información, vea Seguimiento de red en .NET Framework.

Se aplica a

GetHostEntry(String, AddressFamily)

Source:
Dns.cs
Source:
Dns.cs
Source:
Dns.cs

Resuelve un nombre de host o una dirección IP en una instancia de 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

Nombre de host o dirección IP que se va a resolver.

family
AddressFamily

Familia de direcciones para la que se deben recuperar las direcciones IP. Si Unspecifiedes , recupere todas las direcciones IP independientemente de la familia de direcciones.

Devoluciones

Instancia IPHostEntry de que contiene la información de dirección sobre el host especificado en hostNameOrAddress.

Se aplica a