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 zawierające informacje o adresie hosta określonego w elemIPHostEntry.address
Wyjątki
address
to null
.
Napotkano błąd podczas rozwiązywania problemu address
.
address
jest nieprawidłowym adresem IP.
Przykłady
W poniższym przykładzie kodu użyto GetHostEntry metody , aby rozpoznać adres 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 na podstawie 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 po włączeniu śledzenia sieci w aplikacji. Aby uzyskać więcej informacji, zobacz Śledzenie sieci w .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 zawierające informacje o adresie hosta określonego w elemIPHostEntry.hostNameOrAddress
Wyjątki
Parametr hostNameOrAddress
ma wartość null
.
Długość parametru hostNameOrAddress
jest większa niż 255 znaków.
Napotkano błąd podczas rozpoznawania parametru hostNameOrAddress
.
Parametr hostNameOrAddress
jest nieprawidłowym adresem IP.
Przykłady
W poniższym przykładzie użyto GetHostEntry metody , aby rozpoznać adres IP wystąpienia 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
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 Windows Sockets WSAHOST_NOT_FOUND). Ten wyjątek może zostać zwrócony, 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 jej 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 IP jest przekazywany w parametrze hostNameOrAddress
, który aplikacja chce IPHostEntry , aby wystąpienie zostało zwrócone ze wszystkimi zestawami właściwości. Te właściwości obejmują AddressListwartości , Aliasesi HostName. W związku z tym 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 ADRESU 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 wyszukiwania wstecznego jest ponownie używana do uzyskiwania wszystkich możliwych adresów IP skojarzonych z nazwą i ustawiana jako AddressList 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 faktycznie 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 nie 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ń IPv6 nie rejestruje rekordu odwrotnego (PTR) dla adresu IPv6. Dlatego ta metoda może zwrócić literał IPv6 ciągu 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ę powodzeniem (zostanie pomyślnie przeanalizowany jako adres IP), ten adres zostanie natychmiast zwrócony w wyniku. Nie ma próby wyszukiwania wstecznego.
Adresy IPv6 są filtrowane na podstawie 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, jeśli są dostępne 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 po włączeniu śledzenia sieci w aplikacji. Aby uzyskać więcej informacji, zobacz Śledzenie sieci w .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 elem hostNameOrAddress
.
Dotyczy
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla