Dns.GetHostAddresses 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
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 地址。
例外
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 结果可用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 地址。