Dns.GetHostAddresses 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
GetHostAddresses(String) |
傳回指定之主機的網際網路通訊協定 (Internet Protocol,IP) 位址。 |
GetHostAddresses(String, AddressFamily) |
傳回指定之主機的網際網路通訊協定 (Internet Protocol,IP) 位址。 |
GetHostAddresses(String)
- 來源:
- Dns.cs
- 來源:
- Dns.cs
- 來源:
- Dns.cs
傳回指定之主機的網際網路通訊協定 (Internet Protocol,IP) 位址。
public:
static cli::array <System::Net::IPAddress ^> ^ GetHostAddresses(System::String ^ hostNameOrAddress);
public static System.Net.IPAddress[] GetHostAddresses (string hostNameOrAddress);
static member GetHostAddresses : string -> System.Net.IPAddress[]
Public Shared Function GetHostAddresses (hostNameOrAddress As String) As IPAddress()
參數
- hostNameOrAddress
- String
要解析的主機名稱或 IP 位址。
傳回
IPAddress 類型的陣列,保留 hostNameOrAddress
參數所指定之主機的 IP 位址。
例外狀況
hostNameOrAddress
為 null
。
hostNameOrAddress
的長度大於 255 個字元。
當解析 hostNameOrAddress
時,發生錯誤。
hostNameOrAddress
為無效的 IP 位址。
範例
下列程式代碼範例會使用 方法, GetHostAddresses 將IP位址解析為類型的 IPAddress陣列。
// Determine the Internet Protocol(IP) addresses for a host.
public:
static void DoGetHostAddress(String^ hostname)
{
array<IPAddress^>^ addresses;
addresses = Dns::GetHostAddresses(hostname);
Console::WriteLine("GetHostAddresses({0}) returns:", hostname);
for each (IPAddress^ address in addresses)
{
Console::Write("{0} ", address);
}
Console::WriteLine("");
}
public static void DoGetHostAddresses(string hostname)
{
IPAddress[] addresses = Dns.GetHostAddresses(hostname);
Console.WriteLine($"GetHostAddresses({hostname}) returns:");
foreach (IPAddress address in addresses)
{
Console.WriteLine($" {address}");
}
}
Public Sub DoGetHostAddresses(hostName As String)
Dim addresses As IPAddress() = Dns.GetHostAddresses(hostname)
Console.WriteLine($"GetHostAddresses({hostname}) returns:")
Dim index As Integer
For index = 0 To addresses.Length - 1
Console.WriteLine($" {addresses(index)}")
Next index
End Sub
備註
方法 GetHostAddresses 會查詢 DNS 子系統,以取得與主機名相關聯的 IP 位址。 如果 hostNameOrAddress
是IP位址,則會傳回此位址,而不查詢 DNS 伺服器。
如果將空字串當做 hostNameOrAddress
自變數傳遞,則此方法會傳回本機主機的 IPv4 和 IPv6 位址。
如果本機計算機未安裝 IPv6,則會從 方法的結果 GetHostAddresses 篩選 IPv6 位址。 因此,如果只有 IPv6 結果可供 參數使用,就可以傳回空 IPAddress 的 hostNameOrAddress
實例。
此方法是使用基礎操作系統的名稱解析 API 來實作, (例如 Windows 上的 Win32 API getaddrinfo,以及其他平臺上的對等 API) 。 如果檔案中 hosts
描述主機,則會傳回IP位址或位址,而不需查詢 DNS 伺服器。
注意
當您在應用程式中啟用網路追蹤時,此成員會發出追蹤資訊。 如需詳細資訊,請參閱 .NET Framework 中的網路追蹤。
適用於
GetHostAddresses(String, AddressFamily)
- 來源:
- Dns.cs
- 來源:
- Dns.cs
- 來源:
- Dns.cs
傳回指定之主機的網際網路通訊協定 (Internet Protocol,IP) 位址。
public:
static cli::array <System::Net::IPAddress ^> ^ GetHostAddresses(System::String ^ hostNameOrAddress, System::Net::Sockets::AddressFamily family);
public static System.Net.IPAddress[] GetHostAddresses (string hostNameOrAddress, System.Net.Sockets.AddressFamily family);
static member GetHostAddresses : string * System.Net.Sockets.AddressFamily -> System.Net.IPAddress[]
Public Shared Function GetHostAddresses (hostNameOrAddress As String, family As AddressFamily) As IPAddress()
參數
- hostNameOrAddress
- String
要解析的主機名稱或 IP 位址。
- family
- AddressFamily
應擷取IP的位址系列。 如果 Unspecified為 ,則擷取所有IP,而不論位址系列為何。
傳回
IPAddress 類型的陣列,保留 hostNameOrAddress
參數所指定之主機的 IP 位址。