Dns.GetHostEntry Méthode

Définition

Résout un nom d'hôte ou une adresse IP en instance de IPHostEntry.

Surcharges

GetHostEntry(IPAddress)

Résout une adresse IP en instance de IPHostEntry.

GetHostEntry(String)

Résout un nom d'hôte ou une adresse IP en instance de IPHostEntry.

GetHostEntry(String, AddressFamily)

Résout un nom d'hôte ou une adresse IP en instance de IPHostEntry.

GetHostEntry(IPAddress)

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

Résout une adresse IP en instance 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

Paramètres

address
IPAddress

Adresse IP.

Retours

Instance de IPHostEntry qui contient des informations sur l'adresse de l'hôte spécifié dans address.

Exceptions

address a la valeur null.

Une erreur s'est produite lors de la résolution de address.

address est une adresse IP non valide.

Exemples

L’exemple de code suivant utilise la GetHostEntry méthode pour résoudre une adresse IP en instance IPHostEntry .

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

Remarques

La GetHostEntry méthode interroge un serveur DNS pour les adresses IP et les alias associés à une adresse IP.

Les adresses IPv6 sont filtrées à partir des résultats de la GetHostEntry méthode si IPv6 n’est pas installé sur l’ordinateur local. Par conséquent, il est possible de récupérer un instance vide IPHostEntry si seuls les résultats IPv6 étaient disponibles pour le address paramètre.

La Aliases propriété du IPHostEntry instance retourné n’est pas remplie par cette méthode et sera toujours vide.

Notes

Ce membre émet des informations de trace lorsque vous activez le suivi réseau dans votre application. Pour plus d’informations, consultez Suivi réseau dans .NET Framework.

S’applique à

GetHostEntry(String)

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

Résout un nom d'hôte ou une adresse IP en instance 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

Paramètres

hostNameOrAddress
String

Nom de l'hôte ou adresse IP à résoudre.

Retours

Instance de IPHostEntry qui contient des informations sur l'adresse de l'hôte spécifié dans hostNameOrAddress.

Exceptions

Le paramètre hostNameOrAddress a la valeur null.

Le paramètre hostNameOrAddress comporte plus de 255 caractères.

Une erreur s'est produite lors de la résolution du paramètre hostNameOrAddress.

Le paramètre hostNameOrAddress est une adresse IP non valide.

Exemples

L’exemple suivant utilise la GetHostEntry méthode pour résoudre une adresse IP en instance IPHostEntry .

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

Remarques

La GetHostEntry méthode interroge un serveur DNS pour l’adresse IP associée à un nom d’hôte ou à une adresse IP.

Si une chaîne vide est passée en tant qu’argument hostNameOrAddress , cette méthode retourne les adresses IPv4 et IPv6 de l’hôte local.

Si le nom d’hôte est introuvable, l’exception SocketException est retournée avec la valeur 11001 (erreur des sockets Windows WSAHOST_NOT_FOUND). Cette exception peut être retournée si le serveur DNS ne répond pas. Cette exception peut également être retournée si le nom n’est pas un nom d’hôte ou un alias officiel, ou s’il est introuvable dans la ou les bases de données interrogées.

L’exception ArgumentException est également retournée si le hostNameOrAddress paramètre contient Any ou IPv6Any.

La GetHostEntry méthode suppose que si une chaîne littérale IP est passée dans le hostNameOrAddress paramètre, l’application souhaite qu’un IPHostEntry instance retourné avec toutes les propriétés définies. Ces propriétés incluent , AddressListAliaseset HostName. Par conséquent, l’implémentation de la méthode présente le GetHostEntry comportement suivant lorsqu’un littéral de chaîne IP est passé :

  1. La méthode tente d’analyser l’adresse. Si le hostNameOrAddress paramètre contient un littéral de chaîne IP légale, la première phase réussit.

  2. Une recherche inversée à l’aide de l’adresse IP du littéral de chaîne IP est tentée pour obtenir le nom d’hôte. Ce résultat est défini en tant que HostName propriété .

  3. Le nom d’hôte de cette recherche inversée est utilisé à nouveau pour obtenir toutes les adresses IP possibles associées au nom et définir comme AddressList propriété.

Pour un littéral de chaîne IPv4, les trois étapes ci-dessus peuvent réussir. Mais il est possible qu’un enregistrement DNS obsolète pour une adresse IPv4 qui appartient en fait à un autre hôte soit retourné. Cela peut entraîner l’échec de l’étape 3 et lever une exception (il existe un enregistrement DNS PTR pour l’adresse IPv4, mais pas d’enregistrement DNS A pour l’adresse IPv4).

Pour IPv6, l’étape 2 ci-dessus peut échouer, car la plupart des déploiements IPv6 n’inscrivent pas l’enregistrement inverse (PTR) pour une adresse IPv6. Par conséquent, cette méthode peut renvoyer le littéral IPv6 de chaîne comme nom d’hôte de domaine complet (FQDN) dans la HostName propriété.

La GetHostAddresses méthode a un comportement différent en ce qui concerne les littéraux IP. Si l’étape n°1 ci-dessus réussit (elle analyse correctement en tant qu’adresse IP), cette adresse est immédiatement retournée comme résultat. Il n’y a aucune tentative de recherche inversée.

Les adresses IPv6 sont filtrées à partir des résultats de la GetHostEntry méthode si IPv6 n’est pas installé sur l’ordinateur local. Par conséquent, il est possible de récupérer un instance vide IPHostEntry si uniquement les résultats IPv6 sont disponibles pour le hostNameOrAddressparamètre ..

La Aliases propriété du IPHostEntry instance retourné n’est pas remplie par cette méthode et sera toujours vide.

Notes

Ce membre émet des informations de trace lorsque vous activez le suivi réseau dans votre application. Pour plus d’informations, consultez Suivi réseau dans .NET Framework.

S’applique à

GetHostEntry(String, AddressFamily)

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

Résout un nom d'hôte ou une adresse IP en instance 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

Paramètres

hostNameOrAddress
String

Nom de l'hôte ou adresse IP à résoudre.

family
AddressFamily

Famille d’adresses pour laquelle les adresses IP doivent être récupérées. Si Unspecified, récupérez toutes les adresses IP, quelle que soit la famille d’adresses.

Retours

Un IPHostEntry instance qui contient les informations d’adresse sur l’hôte spécifié dans hostNameOrAddress.

S’applique à