Dns.GetHostAddresses 方法

定义

重载

GetHostAddresses(String)

返回指定主机的 Internet 协议 (IP) 地址。

GetHostAddresses(String, AddressFamily)

返回指定主机的 Internet 协议 (IP) 地址。

GetHostAddresses(String)

Source:
Dns.cs
Source:
Dns.cs
Source:
Dns.cs

返回指定主机的 Internet 协议 (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 结果可用hostNameOrAddress,则可能会返回空IPAddress实例。

此方法使用基础操作系统的名称解析 API ((例如 Windows 上的 Win32 API getaddrinfo)和其他平台上) 的等效 API 来实现。 如果文件中描述了 hosts 主机,则会返回一个或多个 IP 地址,而无需查询 DNS 服务器。

注意

在应用程序中启用网络跟踪时,此成员发出跟踪信息。 有关详细信息,请参阅 .NET Framework 中的网络跟踪

适用于

GetHostAddresses(String, AddressFamily)

Source:
Dns.cs
Source:
Dns.cs
Source:
Dns.cs

返回指定主机的 Internet 协议 (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 地址。

适用于