首先,导入using System.Net;命名空间,因为Dns类在.Net命名空间中.
将域名转化为IP地址.
在前台加入一个TextBox控件txtDomain用于输入要转化的域名,用一个Label控件lbIP输出转化后的IP.
IPHostEntry hostInfo=Dns.GetHostEntry(txtDomain.Text);
IPAddress[] addList=hostInfo.AddressList;
lbIP.Text=addList[0].toString;
将IP转化为域名
在前台加入一个TextBox控件txtIP用于输入要转化的IP,用一个Label控件lbDomain将转化后的域名输出
IPHostEntry hostInfo=Dns.GetHostEntry(txtIP.Text);
lbDomain.Text=hostInfo.HostName;
但问题是当我们从一个IPHostEntry对象中取相关信息的时候,对于一个IPHostEntry对象可以取出一个IPAddress[],即一组IP地址,但从HostName属性中可以看出只能取一个域名,我想是不是一个IP地址只能对应一个域名,而一个域名则可对应多个IP.
在域名转化为地址的时候,我用了一个循环将addList[]数组中的值全取出来了,发现有的域名对应严格IP,比如:输入的是www.baidu.com,但输入www.sohu.com后就出现了10个相同的IP;输入www.sina.com出现7个相同的IP,对于这一点还是不太明白.
对了,Dns的静态方法中好像有两个方法已经过时,GetHostbyName()和GetHostbyAddress(),这两个方法的作用可以用GetHostEntry()一个来实现.