Dns.GetHostEntry Dns.GetHostEntry Dns.GetHostEntry Dns.GetHostEntry Method

Definition

Löst einen Hostnamen oder eine IP-Adresse in eine IPHostEntry-Instanz auf.Resolves a host name or IP address to an IPHostEntry instance.

Überlädt

GetHostEntry(IPAddress) GetHostEntry(IPAddress) GetHostEntry(IPAddress) GetHostEntry(IPAddress)

Löst eine IP-Adresse in eine IPHostEntry-Instanz auf.Resolves an IP address to an IPHostEntry instance.

GetHostEntry(String) GetHostEntry(String) GetHostEntry(String) GetHostEntry(String)

Löst einen Hostnamen oder eine IP-Adresse in eine IPHostEntry-Instanz auf.Resolves a host name or IP address to an IPHostEntry instance.

GetHostEntry(IPAddress) GetHostEntry(IPAddress) GetHostEntry(IPAddress) GetHostEntry(IPAddress)

Löst eine IP-Adresse in eine IPHostEntry-Instanz auf.Resolves an IP address to an 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

Parameter

address
IPAddress IPAddress IPAddress IPAddress

Eine IP-Adresse.An IP address.

Gibt zurück

Eine IPHostEntry-Instanz, die Adressinformationen zu dem in address angegebenen Host enthält.An IPHostEntry instance that contains address information about the host specified in address.

Ausnahmen

Beim Auflösen von address ist ein Fehler aufgetreten.An error is encountered when resolving address.

address ist keine gültige IP-Adresse.address is an invalid IP address.

Beispiele

Im folgenden Codebeispiel wird die GetHostEntry -Methode verwendet, um eine IP- IPHostEntry Adresse in eine-Instanz aufzulösen.The following code example uses the GetHostEntry method to resolve an IP address to an 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

Hinweise

Die GetHostEntry -Methode fragt einen DNS-Server nach den IP-Adressen und Aliase ab, die einer IP-Adresse zugeordnet sind.The GetHostEntry method queries a DNS server for the IP addresses and aliases associated with an IP address.

IPv6-Adressen werden anhand der Ergebnisse GetHostEntry der-Methode gefiltert, wenn auf dem lokalen Computer IPv6 nicht installiert ist.IPv6 addresses are filtered from the results of the GetHostEntry method if the local computer does not have IPv6 installed. Daher ist es möglich, eine leere IPHostEntry -Instanz zurückzubekommen, wenn für den address Parameter nur IPv6-Ergebnisse verfügbar waren.As a result, it is possible to get back an empty IPHostEntry instance if only IPv6 results were available for the address parameter.

Die Aliases -Eigenschaft IPHostEntry der zurückgegebenen-Instanz wird von dieser Methode nicht aufgefüllt und ist immer leer.The Aliases property of the IPHostEntry instance returned is not populated by this method and will always be empty.

Hinweis

Dieser Member gibt Ablauf Verfolgungs Informationen aus, wenn Sie die Netzwerk Ablauf Verfolgung in der Anwendung aktivieren.This member emits trace information when you enable network tracing in your application. Weitere Informationen finden Sie unter Netzwerk Ablauf Verfolgung in der .NET Framework.For more information, see Network Tracing in the .NET Framework.

Sicherheit

DnsPermission
für den Zugriff auf DNS-Informationen.for accessing DNS information. Zugehörige Enumeration:UnrestrictedAssociated enumeration: Unrestricted

GetHostEntry(String) GetHostEntry(String) GetHostEntry(String) GetHostEntry(String)

Löst einen Hostnamen oder eine IP-Adresse in eine IPHostEntry-Instanz auf.Resolves a host name or IP address to an 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

Parameter

hostNameOrAddress
String String String String

Der aufzulösende Hostname oder die aufzulösende IP-Adresse.The host name or IP address to resolve.

Gibt zurück

Eine IPHostEntry-Instanz, die Adressinformationen zu dem in hostNameOrAddress angegebenen Host enthält.An IPHostEntry instance that contains address information about the host specified in hostNameOrAddress.

Ausnahmen

Der hostNameOrAddress-Parameter ist null.The hostNameOrAddress parameter is null.

Der hostNameOrAddress-Parameter ist länger als 255 Zeichen.The length of hostNameOrAddress parameter is greater than 255 characters.

Beim Auflösen des hostNameOrAddress-Parameters ist ein Fehler aufgetreten.An error was encountered when resolving the hostNameOrAddress parameter.

Der hostNameOrAddress-Parameter ist keine gültige IP-Adresse.The hostNameOrAddress parameter is an invalid IP address.

Beispiele

Im folgenden Beispiel wird die GetHostEntry -Methode verwendet, um eine IP- IPHostEntry Adresse in eine-Instanz aufzulösen.The following example uses the GetHostEntry method to resolve an IP address to an 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

Hinweise

Die GetHostEntry -Methode fragt einen DNS-Server nach der IP-Adresse ab, die einem Hostnamen oder einer IP-Adresse zugeordnet ist.The GetHostEntry method queries a DNS server for the IP address that is associated with a host name or IP address.

Wenn eine leere Zeichenfolge als hostNameOrAddress Argument weitergegeben wird, gibt diese Methode die IPv4-und IPv6-Adressen des lokalen Hosts zurück.If an empty string is passed as the hostNameOrAddress argument, then this method returns the IPv4 and IPv6 addresses of the local host.

Wenn der Hostname nicht gefunden werden konnte, wird SocketException die Ausnahme mit dem Wert 11001 (Windows Sockets Error WSAHOST_NOT_FOUND) zurückgegeben.If the host name could not be found, the SocketException exception is returned with a value of 11001 (Windows Sockets error WSAHOST_NOT_FOUND). Diese Ausnahme kann zurückgegeben werden, wenn der DNS-Server nicht antwortet.This exception can be returned if the DNS server does not respond. Diese Ausnahme kann auch zurückgegeben werden, wenn der Name kein offizieller Hostname oder Alias ist oder in der abgefragten Datenbank (en) nicht gefunden werden kann.This exception can also be returned if the name is not an official host name or alias, or it cannot be found in the database(s) being queried.

Die ArgumentException -Ausnahme wird auch zurückgegeben hostNameOrAddress , wenn Any der IPv6Any-Parameter oder enthält.The ArgumentException exception is also returned if the hostNameOrAddress parameter contains Any or IPv6Any.

Die GetHostEntry -Methode geht davon aus, dass, wenn eine IP- hostNameOrAddress Literalzeichenfolge im IPHostEntry -Parameter übergeben wird, dass die Anwendung eine Instanz mit allen festgelegten Eigenschaften zurückgibt.The GetHostEntry method assumes that if an IP literal string is passed in the hostNameOrAddress parameter that the application wants an IPHostEntry instance returned with all of the properties set. Zu diesen Eigenschaften zählen AddressList, Aliasesund HostName.These properties include the AddressList, Aliases, and HostName. Folglich zeigt die Implementierung GetHostEntry der-Methode das folgende Verhalten an, wenn ein IP-Zeichenfolgenliteralwert übermittelt wird:As a result, the implementation of the GetHostEntry method exhibits the following behavior when an IP string literal is passed:

  1. Die-Methode versucht, die Adresse zu analysieren.The method tries to parse the address. Wenn der hostNameOrAddress Parameter ein juristisches IP-Zeichenfolgenliterale enthält, wird die erste Phase erfolgreich ausgeführt.If the hostNameOrAddress parameter contains a legal IP string literal, then the first phase succeeds.

  2. Ein Reverse-Suche mit der IP-Adresse des IP-Zeichenfolgenliterals wird versucht, den Hostnamen abzurufen.A reverse lookup using the IP address of the IP string literal is attempted to obtain the host name. Dieses Ergebnis wird als HostName -Eigenschaft festgelegt.This result is set as the HostName property.

  3. Der Hostname aus dieser Reverse-Suche wird erneut verwendet, um alle möglichen IP-Adressen abzurufen, die dem Namen zugeordnet sind, AddressList und als Eigenschaft festgelegt.The host name from this reverse lookup is used again to obtain all the possible IP addresses associated with the name and set as the AddressList property.

Bei einem IPv4-zeichenfolgenliteralvorgang können alle drei obigen Schritte erfolgreich ausgeführt werdenFor an IPv4 string literal, all three steps above may succeed. Es ist jedoch möglich, dass ein veralteter DNS-Datensatz für eine IPv4-Adresse, die tatsächlich zu einem anderen Host gehört, zurückgegeben wird.But it is possible for a stale DNS record for an IPv4 address that actually belongs to a different host to be returned. Dies kann dazu führen, dass Schritt #3 fehlschlägt und eine Ausnahme ausgelöst wird (es ist ein DNS-PTR-Datensatz für die IPv4-Adresse vorhanden, aber kein DNS-a-Datensatz für die IPv4-Adresse).This may cause step #3 to fail and throw an exception (there is a DNS PTR record for the IPv4 address, but no DNS A record for the IPv4 address).

Für IPv6 schlägt der Schritt #2 oben möglicherweise fehl, da die meisten IPv6-bereit Stellungen den reversedatensatz (PTR) für eine IPv6-Adresse nicht registrieren.For IPv6, step #2 above may fail, since most IPv6 deployments do not register the reverse (PTR) record for an IPv6 address. Daher kann diese Methode die Zeichenfolge IPv6-Literale als den voll qualifizierten Domänen Host Namen (FQDN) HostName in der-Eigenschaft zurückgeben.So this method may return the string IPv6 literal as the fully-qualified domain (FQDN) host name in the HostName property.

Die GetHostAddresses -Methode weist in Bezug auf IP-Literale ein anderes Verhalten auf.The GetHostAddresses method has different behavior with respect to IP literals. Wenn Schritt #1 oben erfolgreich ist (er wird erfolgreich als IP-Adresse analysiert), wird diese Adresse sofort als Ergebnis zurückgegeben.If step #1 above succeeds (it successfully parses as an IP address), that address is immediately returned as the result. Es gibt keinen Versuch, eine Reverse-Suche durchführen.There is no attempt at a reverse lookup.

IPv6-Adressen werden anhand der Ergebnisse GetHostEntry der-Methode gefiltert, wenn auf dem lokalen Computer IPv6 nicht installiert ist.IPv6 addresses are filtered from the results of the GetHostEntry method if the local computer does not have IPv6 installed. Daher ist es möglich, eine leere IPHostEntry -Instanz zurückzubekommen, wenn nur IPv6-Ergebnisse vorhanden sind, die für den hostNameOrAddress.-Parameter verfügbar sind.As a result, it is possible to get back an empty IPHostEntry instance if only IPv6 results where available for the hostNameOrAddress.parameter.

Die Aliases -Eigenschaft IPHostEntry der zurückgegebenen-Instanz wird von dieser Methode nicht aufgefüllt und ist immer leer.The Aliases property of the IPHostEntry instance returned is not populated by this method and will always be empty.

Hinweis

Dieser Member gibt Ablauf Verfolgungs Informationen aus, wenn Sie die Netzwerk Ablauf Verfolgung in der Anwendung aktivieren.This member emits trace information when you enable network tracing in your application. Weitere Informationen finden Sie unter Netzwerk Ablauf Verfolgung in der .NET Framework.For more information, see Network Tracing in the .NET Framework.

Sicherheit

DnsPermission
für den Zugriff auf DNS-Informationen.for accessing DNS information. Zugehörige Enumeration:UnrestrictedAssociated enumeration: Unrestricted

Gilt für: