Udostępnij za pośrednictwem


Dns.GetHostEntry Metoda

Definicja

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 addresswystę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:

  1. Metoda próbuje przeanalizować adres. hostNameOrAddress Jeśli parametr zawiera legalny literał ciągu IP, pierwsza faza zakończy się pomyślnie.

  2. 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ść.

  3. 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.

Dotyczy