Dns.GetHostEntry Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Löst einen Hostnamen oder eine IP-Adresse in eine IPHostEntry-Instanz auf.
Überlädt
GetHostEntry(IPAddress) |
Löst eine IP-Adresse in eine IPHostEntry-Instanz auf. |
GetHostEntry(String) |
Löst einen Hostnamen oder eine IP-Adresse in eine IPHostEntry-Instanz auf. |
GetHostEntry(String, AddressFamily) |
Löst einen Hostnamen oder eine IP-Adresse in eine IPHostEntry-Instanz auf. |
GetHostEntry(IPAddress)
- Quelle:
- Dns.cs
- Quelle:
- Dns.cs
- Quelle:
- Dns.cs
Löst eine IP-Adresse in eine IPHostEntry-Instanz auf.
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
Eine IP-Adresse
Gibt zurück
Eine IPHostEntry-Instanz, die Adressinformationen zu dem in address
angegebenen Host enthält.
Ausnahmen
address
ist null
.
Beim Auflösen von address
ist ein Fehler aufgetreten.
address
ist keine gültige IP-Adresse.
Beispiele
Im folgenden Codebeispiel wird die GetHostEntry -Methode verwendet, um eine IP-Adresse in eine IPHostEntry Instanz aufzulösen.
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 Aliasen ab, die einer IP-Adresse zugeordnet sind.
IPv6-Adressen werden aus den Ergebnissen der GetHostEntry Methode gefiltert, wenn auf dem lokalen Computer IPv6 nicht installiert ist. Daher ist es möglich, eine leere IPHostEntry Instanz zurückzuholen, wenn nur IPv6-Ergebnisse für den address
Parameter verfügbar waren.
Die Aliases Eigenschaft der IPHostEntry zurückgegebenen Instanz wird von dieser Methode nicht aufgefüllt und ist immer leer.
Hinweis
Dieses Mitglied gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in Ihrer Anwendung aktivieren. Weitere Informationen finden Sie unter Netzwerkablaufverfolgung in .NET Framework.
Gilt für:
GetHostEntry(String)
- Quelle:
- Dns.cs
- Quelle:
- Dns.cs
- Quelle:
- Dns.cs
Löst einen Hostnamen oder eine IP-Adresse in eine IPHostEntry-Instanz auf.
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
Der aufzulösende Hostname oder die aufzulösende IP-Adresse.
Gibt zurück
Eine IPHostEntry-Instanz, die Adressinformationen zu dem in hostNameOrAddress
angegebenen Host enthält.
Ausnahmen
Der hostNameOrAddress
-Parameter ist null
.
Der hostNameOrAddress
-Parameter ist länger als 255 Zeichen.
Beim Auflösen des hostNameOrAddress
-Parameters ist ein Fehler aufgetreten.
Der hostNameOrAddress
-Parameter ist keine gültige IP-Adresse.
Beispiele
Im folgenden Beispiel wird die GetHostEntry -Methode verwendet, um eine IP-Adresse in eine IPHostEntry Instanz aufzulösen.
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.
Wenn eine leere Zeichenfolge als hostNameOrAddress
Argument übergeben wird, gibt diese Methode die IPv4- und IPv6-Adressen des lokalen Hosts zurück.
Wenn der Hostname nicht gefunden werden konnte, wird die SocketException Ausnahme mit dem Wert 11001 zurückgegeben (Windows Sockets-Fehler WSAHOST_NOT_FOUND). Diese Ausnahme kann zurückgegeben werden, wenn der DNS-Server nicht antwortet. Diese Ausnahme kann auch zurückgegeben werden, wenn der Name kein offizieller Hostname oder Alias ist oder nicht in den abgefragten Datenbanken gefunden werden kann.
Die ArgumentException Ausnahme wird auch zurückgegeben, wenn der hostNameOrAddress
Parameter oder IPv6AnyenthältAny.
Die GetHostEntry -Methode geht davon aus, dass die Anwendung eine IPHostEntry Instanz zurückgeben möchte, wenn eine IP-Literalzeichenfolge im hostNameOrAddress
Parameter übergeben wird. Zu diesen Eigenschaften gehören , AddressListAliasesund HostName. Daher weist die Implementierung der GetHostEntry Methode das folgende Verhalten auf, wenn ein IP-Zeichenfolgenliteral übergeben wird:
Die -Methode versucht, die Adresse zu analysieren. Wenn der
hostNameOrAddress
Parameter ein legales IP-Zeichenfolgenliteral enthält, ist die erste Phase erfolgreich.Ein Reverse-Lookup mithilfe der IP-Adresse des IP-Zeichenfolgenliterals wird versucht, den Hostnamen abzurufen. Dieses Ergebnis wird als HostName -Eigenschaft festgelegt.
Der Hostname aus diesem Reverse-Lookup wird erneut verwendet, um alle möglichen IP-Adressen abzurufen, die dem Namen zugeordnet und als AddressList Eigenschaft festgelegt sind.
Bei einem IPv4-Zeichenfolgenliteral können alle drei obigen Schritte erfolgreich sein. Es ist jedoch möglich, dass ein veralteter DNS-Eintrag für eine IPv4-Adresse zurückgegeben wird, die tatsächlich zu einem anderen Host gehört. Dies kann dazu führen, dass Schritt 3 fehlschlägt und eine Ausnahme ausgelöst wird (es gibt einen DNS-PTR-Eintrag für die IPv4-Adresse, aber keinen DNS-A-Eintrag für die IPv4-Adresse).
Bei IPv6 schlägt Schritt 2 möglicherweise fehl, da die meisten IPv6-Bereitstellungen den Reversedatensatz (PTR) nicht für eine IPv6-Adresse registrieren. Daher kann diese Methode den Zeichenfolgen-IPv6-Literal als den vollqualifizierten Domänenhostnamen (FQDN) in der HostName -Eigenschaft zurückgeben.
Die GetHostAddresses Methode hat ein anderes Verhalten in Bezug auf IP-Literale. Wenn Schritt 1 oben erfolgreich ist (erfolgreich als IP-Adresse analysiert), wird diese Adresse sofort als Ergebnis zurückgegeben. Es wird kein Reverse Lookup versucht.
IPv6-Adressen werden aus den Ergebnissen der GetHostEntry Methode gefiltert, wenn auf dem lokalen Computer IPv6 nicht installiert ist. Daher ist es möglich, eine leere IPHostEntry Instanz zurück zu erhalten, wenn nur IPv6-Ergebnisse für den hostNameOrAddress
Parameter verfügbar sind.
Die Aliases Eigenschaft der IPHostEntry zurückgegebenen Instanz wird von dieser Methode nicht aufgefüllt und ist immer leer.
Hinweis
Dieses Mitglied gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in Ihrer Anwendung aktivieren. Weitere Informationen finden Sie unter Netzwerkablaufverfolgung in .NET Framework.
Gilt für:
GetHostEntry(String, AddressFamily)
- Quelle:
- Dns.cs
- Quelle:
- Dns.cs
- Quelle:
- Dns.cs
Löst einen Hostnamen oder eine IP-Adresse in eine IPHostEntry-Instanz auf.
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
Parameter
- hostNameOrAddress
- String
Der aufzulösende Hostname oder die aufzulösende IP-Adresse.
- family
- AddressFamily
Die Adressfamilie, für die IP-Adressen abgerufen werden sollen. Wenn Unspecified, ruft alle IP-Adressen ab, unabhängig von der Adressfamilie.
Gibt zurück
Eine IPHostEntry Instanz, die die Adressinformationen zum in hostNameOrAddress
angegebenen Host enthält.