C# MVC 获取客户端IP详细地址

现在想要获取ip的所属地,在不使用第三方的情况下,不知道该怎么写,请大神指教。

3个回答

不用第三方,你就要自己建立数据库,去实现ip和区域的对应。

好比通过电话号码找对应的机主,电话号码本身是算不出机主名字的,这完全是一个人为分配的过程。而且就像同一个人,可能开新的电话,可能关闭掉原来的号码不用了,也可能这个号码又给另一个人用了。

ip地址也一样,它对应的区域也是在不断变动的。你自己建数据库还存在一个时效性的问题,随着时间的推移,慢慢就不准了。

所以你自己衡量一下这么做是否划算。

像一些大公司,因为他们有大量的手机客户端,所以可以找到ip->gps的对应关系,自动维护数据库。还有一些公司,可以直接从电信部门拿到ip分配表,所以他们的数据比较可靠。小公司不是专门做这个的,就没有这个能力了。

using System.Net;

public string GetIPAdd()
{
string IP4Address = String.Empty;
foreach (IPAddress IPA in Dns.GetHostAddresses(Dns.GetHostName()))
{
if (IPA.AddressFamily.ToString() == "InterNetwork")
{
IP4Address = IPA.ToString();
break;
}
}
return IP4Address;
}

var ip = System.Web.HttpContext.Current.Request.UserHostAddress; 这个就能获取ip地址

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐