码迷,mamicode.com
首页 > Web开发 > 详细

Asp.net MVC获取访问系统的客户端计算机的主机名和IP地址

时间:2016-10-21 13:30:37      阅读:281      评论:0      收藏:0      [点我收藏+]

标签:user   net   highlight   调试   ipad   mvc   客户   text   forward   

string HostName = string.Empty; 
string ip = string.Empty;
string ipv4 = String.Empty;

if (!string.IsNullOrEmpty(System.Web.HttpContext.Current.Request.ServerVariables["HTTP_VIA"]))
     ip = Convert.ToString(System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]);
if (string.IsNullOrEmpty(ip))
     ip = Request.UserHostAddress;

 // 利用 Dns.GetHostEntry 方法,由获取的 IPv6 位址反查 DNS 纪录,
 // 再逐一判断何者为 IPv4 协议,即可转为 IPv4 位址。 foreach (IPAddress ipAddr in Dns.GetHostEntry(ip).AddressList) { if (ipAddr.AddressFamily.ToString() == "InterNetwork") { ipv4 = ipAddr.ToString(); } } HostName = "主机名: " + Dns.GetHostEntry(ip).HostName + " IP: " + ipv4;

  在本机进行程序代码调试测试,其中字符串ip会显示为::1,是IPv6的IP地址格式,相当于127.0.0.1。最终处理成IPv4的显示地址。

Asp.net MVC获取访问系统的客户端计算机的主机名和IP地址

标签:user   net   highlight   调试   ipad   mvc   客户   text   forward   

原文地址:http://www.cnblogs.com/purplefox2008/p/5983957.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!