发现了一比较好的本地ip对应地址的库资源文件--做一下笔记。
官方网站 https://dev.maxmind.com/geoip/geoip2/geolite2/
这里提供了免费的库文件,还有很好的api支持。
(国内也用一个叫www.ipip.net 也有类似的)
第一、java 获取IP地址
public static String getRemortIP(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
if (ip.contains(",")) {
ip = ip.split(",")[0];
}
return ip;
}
第二、使用geoip2先引入他的jar
<dependency>
<groupId>com.maxmind.geoip2</groupId>
<artifactId>geoip2</artifactId>
<version>2.8.1</version>
</depende