Dns.GetHostAddresses 方法

定義

多載

GetHostAddresses(String)

傳回指定之主機的網際網路通訊協定 (Internet Protocol,IP) 位址。

GetHostAddresses(String, AddressFamily)

傳回指定之主機的網際網路通訊協定 (Internet Protocol,IP) 位址。

GetHostAddresses(String)

傳回指定之主機的網際網路通訊協定 (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[]

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)

傳回指定之主機的網際網路通訊協定 (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[]

IPAddress 類型的陣列,保留 hostNameOrAddress 參數所指定之主機的 IP 位址。

適用於