微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

NET Core中如何通过用户IP地址获取国家/地区?

如何解决NET Core中如何通过用户IP地址获取国家/地区?

我想通过他的IP获取登录用户的国家。第一个功能获取IP地址。

.swiper-container {
    width:100%;
    height:auto;
}
.swiper-slide {
    width:auto;
    height:auto;
}
.swiper-container img {
    width:100%;
    height:auto;
}

第二个功能使用ip并返回国家/地区

 public static string GetLocalIPAddress()
 {
    var host = Dns.GetHostEntry(Dns.GetHostName());
    foreach (var ip in host.AddressList)
    {
        if (ip.AddressFamily == AddressFamily.InterNetwork)
        {
            return ip.ToString();
        }
    }
    throw new Exception("No network adapters with an IPv4 address in the system!");
}

这里的问题是第二个函数不返回任何数据。当我在https://ipinfo.io/IP尝试IP时,它返回bogon = true。

我怎么不退回Bogon ip。

解决方法

如果要获取客户端的IP地址,则需要使用客户端的IP地址而不是主机。要在ASP.Net Core中执行此操作,可以执行以下操作:

var clientIpAddress = request.HttpContext.Connection.RemoteIpAddress;

从那里,您可以将clientIpAddress用作传递给GetUserCountryByIp函数的IP。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。