|
|
@ -16,11 +16,15 @@ public class AddressUtils |
|
|
|
{ |
|
|
|
{ |
|
|
|
private static final Logger log = LoggerFactory.getLogger(AddressUtils.class); |
|
|
|
private static final Logger log = LoggerFactory.getLogger(AddressUtils.class); |
|
|
|
|
|
|
|
|
|
|
|
public static final String IP_URL = "http://ip.taobao.com/service/getIpInfo.php"; |
|
|
|
// IP地址查询
|
|
|
|
|
|
|
|
public static final String IP_URL = "http://whois.pconline.com.cn/ipJson.jsp"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 未知地址
|
|
|
|
|
|
|
|
public static final String UNKNOWN = "XX XX"; |
|
|
|
|
|
|
|
|
|
|
|
public static String getRealAddressByIP(String ip) |
|
|
|
public static String getRealAddressByIP(String ip) |
|
|
|
{ |
|
|
|
{ |
|
|
|
String address = "XX XX"; |
|
|
|
String address = UNKNOWN; |
|
|
|
// 内网不查询
|
|
|
|
// 内网不查询
|
|
|
|
if (IpUtils.internalIp(ip)) |
|
|
|
if (IpUtils.internalIp(ip)) |
|
|
|
{ |
|
|
|
{ |
|
|
@ -28,17 +32,23 @@ public class AddressUtils |
|
|
|
} |
|
|
|
} |
|
|
|
if (RuoYiConfig.isAddressEnabled()) |
|
|
|
if (RuoYiConfig.isAddressEnabled()) |
|
|
|
{ |
|
|
|
{ |
|
|
|
String rspStr = HttpUtils.sendPost(IP_URL, "ip=" + ip); |
|
|
|
try |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
String rspStr = HttpUtils.sendGet(IP_URL, "ip=" + ip + "&json=true"); |
|
|
|
if (StringUtils.isEmpty(rspStr)) |
|
|
|
if (StringUtils.isEmpty(rspStr)) |
|
|
|
{ |
|
|
|
{ |
|
|
|
log.error("获取地理位置异常 {}", ip); |
|
|
|
log.error("获取地理位置异常 {}", ip); |
|
|
|
return address; |
|
|
|
return UNKNOWN; |
|
|
|
} |
|
|
|
} |
|
|
|
JSONObject obj = JSONObject.parseObject(rspStr); |
|
|
|
JSONObject obj = JSONObject.parseObject(rspStr); |
|
|
|
JSONObject data = obj.getObject("data", JSONObject.class); |
|
|
|
String region = obj.getString("pro"); |
|
|
|
String region = data.getString("region"); |
|
|
|
String city = obj.getString("city"); |
|
|
|
String city = data.getString("city"); |
|
|
|
return String.format("%s %s", region, city); |
|
|
|
address = region + " " + city; |
|
|
|
} |
|
|
|
|
|
|
|
catch (Exception e) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
log.error("获取地理位置异常 {}", ip); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
return address; |
|
|
|
return address; |
|
|
|
} |
|
|
|
} |
|
|
|