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í
| Name | Description |
|---|---|
| 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
- 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 o hostiteli zadaném v address.
Výjimky
address je null.
Při řešení addressdošlo k 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({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 dotazuje server DNS na IP adresy a aliasy přidružené k IP adrese.
Adresy IPv6 se filtrují z výsledků GetHostEntry metody, pokud místní počítač nemá nainstalovaný protokol IPv6. V důsledku toho je možné vrátit prázdnou IPHostEntry instanci, pokud byly pro address parametr k dispozici pouze výsledky IPv6.
Vlastnost Aliases vrácené IPHostEntry instance není naplněna touto metodou a vždy bude prázdná.
Poznámka:
Tento člen generuje informace o trasování, když ve své aplikaci povolíte trasování sítě. Další informace naleznete v tématu Trasování sítě v rozhraní .NET Framework.
Platí pro
GetHostEntry(String)
- Zdroj:
- Dns.cs
- Zdroj:
- Dns.cs
- 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 o hostiteli zadaném v hostNameOrAddress.
Výjimky
Parametr hostNameOrAddress je null.
Délka parametru hostNameOrAddress je větší než 255 znaků.
Při řešení parametru hostNameOrAddress došlo k 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({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 argument předá hostNameOrAddress prázdný řetězec, vrátí tato metoda adresy IPv4 a IPv6 místního hostitele.
Pokud nebyl nalezen název hostitele, SocketException vrátí se výjimka s hodnotou 11001 (chyba rozhraní Windows Sockets WSAHOST_NOT_FOUND). Tuto výjimku je možné vrátit, pokud server DNS nereaguje. Tuto výjimku je možné vrátit také v případě, že název není oficiálním názvem hostitele nebo aliasem 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 PROTOKOLU IP, který aplikace chce IPHostEntry vrátit instanci se všemi sadami vlastností. Mezi tyto vlastnosti patří , AddressListAliasesa HostName. Výsledkem je, že implementace GetHostEntry metody vykazuje následující chování při předání řetězcového literálu PROTOKOLU IP:
Metoda se pokusí analyzovat adresu.
hostNameOrAddressPokud parametr obsahuje literál řetězce právní IP adresy, bude první fáze úspěšná.Zpětné vyhledávání pomocí IP adresy literálu řetězce PROTOKOLU IP se pokouší 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 nastavení jako AddressList vlastnosti.
U řetězcového literálu IPv4 může být všechny tři kroky uvedené výše úspěšné. Je ale možné, že zastaralý záznam DNS pro adresu IPv4, která skutečně patří jinému hostiteli, který se má vrátit. To může způsobit selhání kroku 3 a vyvolání výjimky (pro adresu IPv4 existuje záznam DNS PTR, ale žádný záznam DNS A pro adresu IPv4).
U IPv6 může krok 2 výše selhat, protože většina nasazení IPv6 neregistruje reverzní záznam (PTR) pro adresu IPv6. Proto tato metoda může vrátit řetězcový literál IPv6 jako plně kvalifikovaný název hostitele domény (FQDN) ve HostName vlastnosti.
Metoda GetHostAddresses má jiné chování s ohledem na literály PROTOKOLU IP. Pokud krok 1 výše proběhne úspěšně (úspěšně parsuje jako IP adresu), vrátí se tato adresa okamžitě jako výsledek. Při zpětném vyhledávání není žádný pokus.
Adresy IPv6 se filtrují z výsledků GetHostEntry metody, pokud místní počítač nemá nainstalovaný protokol IPv6. V důsledku toho je možné vrátit prázdnou IPHostEntry instanci, pokud jsou k dispozici pouze výsledky protokolu IPv6, pokud jsou k dispozici pro hostNameOrAddressparametr ..
Vlastnost Aliases vrácené IPHostEntry instance není naplněna touto metodou a vždy bude prázdná.
Poznámka:
Tento člen generuje informace o trasování, když ve své aplikaci povolíte trasování sítě. Další informace naleznete 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
- 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
Řada adres, pro kterou se mají načíst IP adresy. Pokud Unspecifiednačtěte všechny IP adresy bez ohledu na rodinu adres.
Návraty
Instance IPHostEntry , která obsahuje informace o adrese o hostiteli zadaném v hostNameOrAddress.