Partager via


Dns.GetHostEntry Méthode

Définition

Résout un nom d’hôte ou une adresse IP dans une IPHostEntry instance.

Surcharges

Nom Description
GetHostEntry(IPAddress)

Résout une adresse IP en une IPHostEntry instance.

GetHostEntry(String)

Résout un nom d’hôte ou une adresse IP dans une IPHostEntry instance.

GetHostEntry(String, AddressFamily)

Résout un nom d’hôte ou une adresse IP dans une IPHostEntry instance.

GetHostEntry(IPAddress)

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

Résout une adresse IP en une IPHostEntry instance.

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

Une adresse IP.

Retours

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

Exceptions

address a la valeur null.

Une erreur est rencontrée lors de la résolution 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 sur une IPHostEntry instance.

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 l’ordinateur local n’a pas installé IPv6. Par conséquent, il est possible de récupérer une instance vide IPHostEntry si seuls les résultats IPv6 étaient disponibles pour le address paramètre.

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

Note

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

Résout un nom d’hôte ou une adresse IP dans une IPHostEntry instance.

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 d’hôte ou adresse IP à résoudre.

Retours

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

Exceptions

Le hostNameOrAddress paramètre est null.

La longueur du hostNameOrAddress paramètre est supérieure à 255 caractères.

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

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

Exemples

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

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 Windows Sockets 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 qu’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 que l’application souhaite qu’une IPHostEntry instance retournée avec toutes les propriétés définies. Ces propriétés incluent les AddressListpropriétés , Aliaseset HostName. Par conséquent, l’implémentation de la GetHostEntry méthode présente le 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 d’obtenir le nom d’hôte. Ce résultat est défini comme propriété HostName .

  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 réellement à un autre hôte soit retourné. Cela peut entraîner l’échec de l’étape 3 et la levée d’une exception (il existe un enregistrement PTR DNS pour l’adresse IPv4, mais aucun 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. Ainsi, cette méthode peut retourner le littéral IPv6 de chaîne en tant que nom d’hôte de domaine complet (FQDN) dans la HostName propriété.

La GetHostAddresses méthode a un comportement différent par rapport aux littéraux IP. Si l’étape 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 l’ordinateur local n’a pas installé IPv6. Par conséquent, il est possible de récupérer une instance vide IPHostEntry si seuls les résultats IPv6 sont disponibles pour le hostNameOrAddressparamètre ..

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

Note

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

Résout un nom d’hôte ou une adresse IP dans une IPHostEntry instance.

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 d’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 indépendamment de la famille d’adresses.

Retours

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

S’applique à