Dns.GetHostEntry Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Rozpoznaje nazwę hosta lub adres IP wystąpienia IPHostEntry .
Przeciążenia
GetHostEntry(IPAddress) |
Rozpoznaje adres IP wystąpienia IPHostEntry . |
GetHostEntry(String) |
Rozpoznaje nazwę hosta lub adres IP wystąpienia IPHostEntry . |
GetHostEntry(String, AddressFamily) |
Rozpoznaje nazwę hosta lub adres IP wystąpienia IPHostEntry . |
GetHostEntry(IPAddress)
- Źródło:
- Dns.cs
- Źródło:
- Dns.cs
- Źródło:
- Dns.cs
Rozpoznaje adres IP wystąpienia 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
Parametry
- address
- IPAddress
Adres IP.
Zwraca
Wystąpienie IPHostEntry zawierające informacje o adresie hosta określonego w elemecie address
.
Wyjątki
address
to null
.
Podczas rozwiązywania problemu address
występuje błąd .
address
jest nieprawidłowym adresem IP.
Przykłady
Poniższy przykład kodu używa GetHostEntry metody do rozpoznawania adresu IP wystąpienia 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
Uwagi
Metoda GetHostEntry wysyła zapytanie do serwera DNS dla adresów IP i aliasów skojarzonych z adresem IP.
Adresy IPv6 są filtrowane z wyników metody , jeśli komputer lokalny nie ma zainstalowanego GetHostEntry protokołu IPv6. W związku z tym można odzyskać puste IPHostEntry wystąpienie, jeśli tylko wyniki protokołu IPv6 były dostępne dla parametru address
.
Właściwość Aliases zwróconego IPHostEntry wystąpienia nie jest wypełniana przez tę metodę i zawsze będzie pusta.
Uwaga
Ten element członkowski emituje informacje śledzenia podczas włączania śledzenia sieci w aplikacji. Aby uzyskać więcej informacji, zobacz Śledzenie sieci w programie .NET Framework.
Dotyczy
GetHostEntry(String)
- Źródło:
- Dns.cs
- Źródło:
- Dns.cs
- Źródło:
- Dns.cs
Rozpoznaje nazwę hosta lub adres IP wystąpienia 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
Parametry
- hostNameOrAddress
- String
Nazwa hosta lub adres IP do rozpoznania.
Zwraca
Wystąpienie IPHostEntry zawierające informacje o adresie hosta określonego w elemecie hostNameOrAddress
.
Wyjątki
Parametr hostNameOrAddress
to null
.
Długość parametru hostNameOrAddress
jest większa niż 255 znaków.
Wystąpił błąd podczas rozpoznawania parametru hostNameOrAddress
.
Parametr hostNameOrAddress
jest nieprawidłowym adresem IP.
Przykłady
W poniższym przykładzie GetHostEntry użyto metody rozpoznawania adresu IP do IPHostEntry wystąpienia.
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
Uwagi
Metoda GetHostEntry wysyła zapytanie do serwera DNS dla adresu IP skojarzonego z nazwą hosta lub adresem IP.
Jeśli pusty ciąg jest przekazywany jako hostNameOrAddress
argument, ta metoda zwraca adresy IPv4 i IPv6 hosta lokalnego.
Jeśli nie można odnaleźć nazwy hosta, SocketException zwracany jest wyjątek z wartością 11001 (błąd gniazda systemu Windows WSAHOST_NOT_FOUND). Ten wyjątek można zwrócić, jeśli serwer DNS nie odpowiada. Ten wyjątek można również zwrócić, jeśli nazwa nie jest oficjalną nazwą hosta lub aliasem lub nie można go odnaleźć w bazach danych, których dotyczy zapytanie.
Wyjątek ArgumentException jest również zwracany, jeśli hostNameOrAddress
parametr zawiera Any wartość lub IPv6Any.
Metoda GetHostEntry zakłada, że jeśli ciąg literału ADRESU IP jest przekazywany w parametrze hostNameOrAddress
, który aplikacja chce IPHostEntry wystąpienia zwróconego ze wszystkimi ustawionymi właściwościami. Te właściwości obejmują AddressList, Aliasesi HostName. W rezultacie implementacja GetHostEntry metody wykazuje następujące zachowanie po przekazaniu literału ciągu IP:
Metoda próbuje przeanalizować adres.
hostNameOrAddress
Jeśli parametr zawiera legalny literał ciągu IP, pierwsza faza zakończy się pomyślnie.Wyszukiwanie wsteczne przy użyciu adresu IP literału ciągu IP próbuje uzyskać nazwę hosta. Ten wynik jest ustawiany jako HostName właściwość.
Nazwa hosta z tego wstecznego wyszukiwania jest ponownie używana do uzyskania wszystkich możliwych adresów IP skojarzonych z nazwą i ustawioną AddressList jako właściwość.
W przypadku literału ciągu IPv4 wszystkie trzy powyższe kroki mogą zakończyć się powodzeniem. Istnieje jednak możliwość zwrócenia nieaktualnego rekordu DNS dla adresu IPv4, który rzeczywiście należy do innego hosta. Może to spowodować niepowodzenie kroku 3 i zgłoszenie wyjątku (istnieje rekord PTR DNS dla adresu IPv4, ale żaden rekord DNS A dla adresu IPv4).
W przypadku protokołu IPv6 krok 2 powyżej może zakończyć się niepowodzeniem, ponieważ większość wdrożeń protokołu IPv6 nie rejestruje rekordu odwrotnego (PTR) dla adresu IPv6. Dlatego ta metoda może zwrócić literał ciągu IPv6 jako w pełni kwalifikowaną nazwę hosta domeny (FQDN) we HostName właściwości.
Metoda GetHostAddresses ma inne zachowanie w odniesieniu do literałów IP. Jeśli krok nr 1 powyżej zakończy się pomyślnie (zostanie pomyślnie przeanalizowany jako adres IP), ten adres zostanie natychmiast zwrócony w wyniku. Nie ma próby wyszukiwania zwrotnego.
Adresy IPv6 są filtrowane z wyników metody , jeśli komputer lokalny nie ma zainstalowanego GetHostEntry protokołu IPv6. W rezultacie można odzyskać puste IPHostEntry wystąpienie, jeśli tylko wyniki protokołu IPv6, jeśli są dostępne tylko dla parametru hostNameOrAddress
..
Właściwość Aliases zwróconego IPHostEntry wystąpienia nie jest wypełniana przez tę metodę i zawsze będzie pusta.
Uwaga
Ten element członkowski emituje informacje śledzenia podczas włączania śledzenia sieci w aplikacji. Aby uzyskać więcej informacji, zobacz Śledzenie sieci w programie .NET Framework.
Dotyczy
GetHostEntry(String, AddressFamily)
- Źródło:
- Dns.cs
- Źródło:
- Dns.cs
- Źródło:
- Dns.cs
Rozpoznaje nazwę hosta lub adres IP wystąpienia 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
Parametry
- hostNameOrAddress
- String
Nazwa hosta lub adres IP do rozpoznania.
- family
- AddressFamily
Rodzina adresów, dla której należy pobrać adresy IP. Jeśli Unspecified, pobierz wszystkie adresy IP niezależnie od rodziny adresów.
Zwraca
Wystąpienie IPHostEntry zawierające informacje o adresie hosta określonego w elemecie hostNameOrAddress
.