Dns.GetHostEntry Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 une IPHostEntry instance.
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 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.
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 le .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 une IPHostEntry instance.
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 à la recherche de 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 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’une IPHostEntry instance soit retournée avec toutes les propriétés définies. Ces propriétés incluent , AddressListAliaseset 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é :
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.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é .
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 lever 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. Cette méthode peut donc retourner 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 1 ci-dessus réussit (l’analyse est effectuée en tant qu’adresse IP), cette adresse est immédiatement retournée en tant que 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 une instance vide IPHostEntry si seulement les résultats IPv6 sont disponibles pour le hostNameOrAddress
paramètre ..
La Aliases propriété de l’instance IPHostEntry retournée 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 le .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 la valeur est Unspecified, récupérez toutes les adresses IP, quelle que soit la famille d’adresses.
Retours
Instance IPHostEntry qui contient les informations d’adresse sur l’hôte spécifié dans hostNameOrAddress
.