ASP.NET2.0中IP地址和域名之间的转换

本文介绍了使用C#实现域名到IP及IP到域名转换的方法。通过实例演示如何利用Dns.GetHostEntry方法进行双向转换,并探讨了一对多与多对一映射的现象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  首先,导入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()一个来实现.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值