Dns类是一个静态类,它从Internet域名系统(DNS)检索关于特定主机的信息。在IPHostEntry类的实例中返回来自DNS查询的主机信息。如果指定的主机在DNS数据库中有多个入口,则IPHostEntry包含多个IP地址和别名。Dns类的常用方法及说明如下表所示。
Dns类的常用方法及说明
方法 | 说明 |
BeginGetHostAddresses | 异步返回指定主机的Internet协议(IP)地址 |
BeginGetHostByName | 开始异步请求关于指定DNS主机名的IPHostEntry信息 |
EndGetHostAddresses | 结束对DNS信息的异步请求 |
EndGetHostByName | 结束对DNS信息的异步请求 |
EndGetHostEntry | 结束对DNS信息的异步请求 |
GetHostAddresses | 返回指定主机的Internet协议(IP)地址 |
GetHostByAddresses | 获取IP地址的DNS主机信息 |
GetHostByName | 获取指定DNS主机名的DNS信息 |
GetHostEntry | 将主机名或IP地址解析为IPHostEntry实例 |
GetHostName | 获取本地计算机的主机名 |
说明
Dns类是一个静态类,它从Internet域名系统(DNS)检索关于特定主机的信息。在IPHostEntry(为Internet主机地址信息提供容器)类的实例中返回来自DNS查询的主机信息。如果指定的主机在DNS数据库中有多个入口,则IPHostEntry包含多个IP地址和别名。
下面演示Dns类的使用方法。
【例】新建一个Windows应用程序,在窗体中添加4个TextBox控件和一个Button控件。其中,TextBox控件分别用来输入主机地址和显示主机IP地址、本地主机名、DNS主机名,Button控件用来调用Dns类中的各个方法获得主机IP地址、本地主机名和DNS主机名,并显示在相应的文本框中。
代码如下:
using System;
using System.Windows.Forms;
using System.Net;
namespace Test01
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//判断是否输入了主机地址
if (textBox1.Text == string.Empty)
{
MessageBox.Show("请输入主机地址!");
}
else
{
textBox2.Text = string.Empty;
//获取指定主机的IP地址
IPAddress[] ips = Dns.GetHostAddresses(textBox1.Text);
//循环访问获得的IP地址
foreach(IPAddress ip in ips)
{
//将得到的IP地址显示在文本框中
textBox2.Text = ip.ToString();
}
//获取本机名
textBox3.Text = Dns.GetHostName();
//根据指定的主机名获取DNS信息
textBox4.Text = Dns.GetHostEntry(Dns.GetHostName()).HostName;
}
}
}
}
程序的运行结果如下图所示。
图 Dns类的使用