Dns.GetHostEntry Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přeloží název hostitele nebo IP adresu na IPHostEntry instanci.
Přetížení
GetHostEntry(IPAddress) |
Přeloží IP adresu na IPHostEntry instanci. |
GetHostEntry(String) |
Přeloží název hostitele nebo IP adresu na IPHostEntry instanci. |
GetHostEntry(String, AddressFamily) |
Přeloží název hostitele nebo IP adresu na IPHostEntry instanci. |
GetHostEntry(IPAddress)
- Zdroj:
- Dns.cs
- Zdroj:
- Dns.cs
- Zdroj:
- Dns.cs
Přeloží IP adresu na IPHostEntry instanci.
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
IP adresa.
Návraty
Instance IPHostEntry , která obsahuje informace o adrese hostitele zadaného v nástroji address
.
Výjimky
address
je null
.
Při řešení chyby dojde k address
chybě .
address
je neplatná IP adresa.
Příklady
Následující příklad kódu používá metodu GetHostEntry k překladu IP adresy na IPHostEntry instanci.
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
Poznámky
Metoda GetHostEntry se dotazuje serveru DNS na IP adresy a aliasy přidružené k IP adrese.
Adresy IPv6 jsou filtrovány z výsledků GetHostEntry metody, pokud místní počítač nemá nainstalovaný protokol IPv6. V důsledku toho je možné získat zpět prázdnou IPHostEntry instanci, pokud byly pro address
parametr k dispozici pouze výsledky IPv6.
Vlastnost AliasesIPHostEntry vrácené instance není vyplněna touto metodou a bude vždy prázdná.
Poznámka
Tento člen generuje informace o trasování, když povolíte trasování sítě ve vaší aplikaci. Další informace najdete v tématu Trasování sítě v rozhraní .NET Framework.
Platí pro
GetHostEntry(String)
- Zdroj:
- Dns.cs
- Zdroj:
- Dns.cs
- Zdroj:
- Dns.cs
Přeloží název hostitele nebo IP adresu na IPHostEntry instanci.
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
Název hostitele nebo IP adresa, které se mají přeložit.
Návraty
Instance IPHostEntry , která obsahuje informace o adrese hostitele zadaného v nástroji hostNameOrAddress
.
Výjimky
Parametr hostNameOrAddress
je null
.
Délka parametru hostNameOrAddress
je větší než 255 znaků.
Při řešení parametru došlo k hostNameOrAddress
chybě.
Parametr hostNameOrAddress
je neplatná IP adresa.
Příklady
Následující příklad používá metodu GetHostEntry k překladu IP adresy na IPHostEntry instanci.
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
Poznámky
Metoda GetHostEntry se dotazuje serveru DNS na IP adresu přidruženou k názvu hostitele nebo IP adrese.
Pokud se jako hostNameOrAddress
argument předá prázdný řetězec, vrátí tato metoda adresy IPv4 a IPv6 místního hostitele.
Pokud se název hostitele nepodařilo najít, SocketException vrátí se výjimka s hodnotou 11001 (chyba Windows Sockets WSAHOST_NOT_FOUND). Tuto výjimku je možné vrátit, pokud server DNS neodpoví. Tuto výjimku lze také vrátit, pokud název není oficiální název hostitele nebo alias nebo ho nelze najít v dotazovaných databázích.
Výjimka ArgumentException se vrátí také v případě, že hostNameOrAddress
parametr obsahuje Any nebo IPv6Any.
Metoda GetHostEntry předpokládá, že pokud je v parametru hostNameOrAddress
předán řetězec literálu IP, aplikace chce IPHostEntry vrátit instanci se všemi nastavenými vlastnostmi. Mezi tyto vlastnosti patří AddressList, Aliasesa HostName. V důsledku toho implementace GetHostEntry metody vykazuje následující chování při předání řetězcového literálu IP adresy:
Metoda se pokusí analyzovat adresu.
hostNameOrAddress
Pokud parametr obsahuje literál právního řetězce IP, první fáze bude úspěšná.Zpětné vyhledávání s použitím IP adresy řetězcového literálu IP se pokusí získat název hostitele. Tento výsledek je nastaven jako HostName vlastnost.
Název hostitele z tohoto zpětného vyhledávání se znovu použije k získání všech možných IP adres přidružených k názvu a nastaví se jako AddressList vlastnost.
U řetězcového literálu IPv4 můžou být všechny tři výše uvedené kroky úspěšné. Je ale možné vrátit zastaralý záznam DNS pro adresu IPv4, která ve skutečnosti patří jinému hostiteli. To může způsobit selhání kroku č. 3 a vyvolá výjimku (pro adresu IPv4 existuje záznam PTR DNS, ale žádný záznam DNS A pro adresu IPv4).
U protokolu IPv6 může krok č. 2 výše selhat, protože většina nasazení IPv6 neregistruje reverzní záznam (PTR) pro adresu IPv6. Tato metoda tedy může vrátit řetězcový literál IPv6 jako plně kvalifikovaný název hostitele domény (FQDN) ve HostName vlastnosti.
Metoda GetHostAddresses se s ohledem na literály PROTOKOLU IP chová jinak. Pokud výše uvedený krok č. 1 proběhne úspěšně (úspěšně se parsuje jako IP adresa), vrátí se tato adresa okamžitě jako výsledek. Neexistuje žádný pokus o zpětné vyhledávání.
Adresy IPv6 jsou filtrovány z výsledků GetHostEntry metody, pokud místní počítač nemá nainstalovaný protokol IPv6. V důsledku toho je možné získat zpět prázdnou IPHostEntry instanci, pokud jsou pro hostNameOrAddress
parametr k dispozici pouze výsledky protokolu IPv6.
Vlastnost AliasesIPHostEntry vrácené instance není vyplněna touto metodou a bude vždy prázdná.
Poznámka
Tento člen generuje informace o trasování, když povolíte trasování sítě ve vaší aplikaci. Další informace najdete v tématu Trasování sítě v rozhraní .NET Framework.
Platí pro
GetHostEntry(String, AddressFamily)
- Zdroj:
- Dns.cs
- Zdroj:
- Dns.cs
- Zdroj:
- Dns.cs
Přeloží název hostitele nebo IP adresu na IPHostEntry instanci.
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
Název hostitele nebo IP adresa, které se mají přeložit.
- family
- AddressFamily
Rodina adres, pro kterou se mají načíst IP adresy. Pokud Unspecified, načtěte všechny IP adresy bez ohledu na rodinu adres.
Návraty
Instance IPHostEntry , která obsahuje informace o adrese hostitele zadaného v hostNameOrAddress
nástroji .