csdn112233445566
里约儿
采纳率75%
2019-03-08 11:27

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 2年前

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

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

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

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

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

    点赞 2 评论 复制链接分享
  • lxc_1395 雷小小厨 2年前

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

    点赞 2 评论 复制链接分享
  • Forgis Forgis 2年前

    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;
    }

    点赞 1 评论 复制链接分享

为你推荐