Compartir a través de


Dns.GetHostEntry Método

Definición

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

Sobrecargas

Nombre Description
GetHostEntry(IPAddress)

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

GetHostEntry(String)

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

GetHostEntry(String, AddressFamily)

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

GetHostEntry(IPAddress)

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

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

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

Una dirección IP.

Devoluciones

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

Excepciones

address es null.

Se produce un error al resolver address.

address es una dirección IP no 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.

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
Source:
Dns.cs
Source:
Dns.cs

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

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 IPHostEntry de que contiene información de dirección sobre el host especificado en hostNameOrAddress.

Excepciones

El hostNameOrAddress parámetro es null.

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

Se encontró un error al resolver el hostNameOrAddress parámetro .

El hostNameOrAddress parámetro es una dirección IP no 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({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 encontró el nombre de host, la SocketException excepción se devuelve con un valor de 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 que se consultan.

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 devolver 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 siguiente comportamiento 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 posibles direcciones IP 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 realmente pertenece a un host diferente. 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 un registro DNS A para la dirección IPv4).

En el caso de IPv6, es posible que se produzca un error en el paso 2 anterior, 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
Source:
Dns.cs
Source:
Dns.cs

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

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