这几天因为需要批量查下ip,网上又找不到类似的程序,所以简单整理了一下如下,这是大致的后台代码。
protected void Page_Load(object sender, EventArgs e)
{
GetIp("
www.0460.com");
Response.Write("您的局域网IP:" + Dns.Resolve(Dns.GetHostName()).AddressList[0]);
//Response.Write("您的局域网IP:" + Dns.GetHostByName(Dns.GetHostName()).AddressList[0]);
Response.Write((Request.UserHostAddress));
Response.Write("您的IP地址是:" + Request.ServerVariables["REMOTE_ADDR"]);
}
protected string GetIp(string sHost)
{
try
{
IPHostEntry oIPHost = new IPHostEntry();
oIPHost = Dns.Resolve(sHost);
//for (int i = 0; i < oIPHost.AddressList.Length; i++)
//{
return oIPHost.AddressList[0].ToString();
}
catch(Exception ex) //System.Net.Sockets.SocketException ex
{
/*
if (ex.ToString().IndexOf("。") != -1)
{
return ex.ToString().Substring(0, ex.ToString().IndexOf("。") + 1);
}
else { return "找不到相关数据."; }
* */
return "找不到相关数据,请检查输入.";
}
//说明:Addresslist只能是你本机的IP,如果一台电脑有多个网卡的话会有多个IP 所以是个数组
}
protected void Button1_Click(object sender, EventArgs e)
{
string sIps = tbIps.Text;
string[] arrIps = sIps.Split('\n');
string sIp = "";
foreach (string item in arrIps)
{
if (!string.IsNullOrEmpty(item) )
{
sIp = item.Trim();
Response.Write("<br>" + sIp + ":" + GetIp(sIp));
}
}
}