共用方式為


Dns.GetHostAddresses 方法

定義

多載

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 位址。

例外狀況

hostNameOrAddressnull

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 結果可供 參數使用,就可以傳回空 IPAddresshostNameOrAddress 實例。

此方法是使用基礎操作系統的名稱解析 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 位址。

適用於