| | |
| | | package com.ruoyi.common.utils.ip;
|
| | |
|
| | | import org.slf4j.Logger;
|
| | | import org.slf4j.LoggerFactory;
|
| | | import com.alibaba.fastjson.JSONObject;
|
| | | import com.ruoyi.common.config.RuoYiConfig;
|
| | | import com.ruoyi.common.constant.Constants;
|
| | | import com.ruoyi.common.utils.StringUtils;
|
| | | import com.ruoyi.common.utils.http.HttpUtils;
|
| | |
|
| | | /**
|
| | | * 获取地址类
|
| | | * |
| | | * @author ruoyi
|
| | | */
|
| | | public class AddressUtils
|
| | | {
|
| | | private static final Logger log = LoggerFactory.getLogger(AddressUtils.class);
|
| | |
|
| | | // 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)
|
| | | {
|
| | | String address = UNKNOWN;
|
| | | // 内网不查询
|
| | | if (IpUtils.internalIp(ip))
|
| | | {
|
| | | return "内网IP";
|
| | | }
|
| | | if (RuoYiConfig.isAddressEnabled())
|
| | | {
|
| | | try
|
| | | {
|
| | | String rspStr = HttpUtils.sendGet(IP_URL, "ip=" + ip + "&json=true", Constants.GBK);
|
| | | if (StringUtils.isEmpty(rspStr))
|
| | | {
|
| | | log.error("获取地理位置异常 {}", ip);
|
| | | return UNKNOWN;
|
| | | }
|
| | | JSONObject obj = JSONObject.parseObject(rspStr);
|
| | | String region = obj.getString("pro");
|
| | | String city = obj.getString("city");
|
| | | return String.format("%s %s", region, city);
|
| | | }
|
| | | catch (Exception e)
|
| | | {
|
| | | log.error("获取地理位置异常 {}", ip);
|
| | | }
|
| | | }
|
| | | return address;
|
| | | }
|
| | | }
|
| | | package com.ruoyi.common.utils.ip; |
| | | |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.ruoyi.common.config.RuoYiConfig; |
| | | import com.ruoyi.common.constant.Constants; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.common.utils.http.HttpUtils; |
| | | |
| | | /** |
| | | * 获取地址类 |
| | | * |
| | | * @author ruoyi |
| | | */ |
| | | public class AddressUtils |
| | | { |
| | | private static final Logger log = LoggerFactory.getLogger(AddressUtils.class); |
| | | |
| | | // 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) |
| | | { |
| | | String address = UNKNOWN; |
| | | // 内网不查询 |
| | | if (IpUtils.internalIp(ip)) |
| | | { |
| | | return "内网IP"; |
| | | } |
| | | if (RuoYiConfig.isAddressEnabled()) |
| | | { |
| | | try |
| | | { |
| | | String rspStr = HttpUtils.sendGet(IP_URL, "ip=" + ip + "&json=true", Constants.GBK); |
| | | if (StringUtils.isEmpty(rspStr)) |
| | | { |
| | | log.error("获取地理位置异常 {}", ip); |
| | | return UNKNOWN; |
| | | } |
| | | JSONObject obj = JSONObject.parseObject(rspStr); |
| | | String region = obj.getString("pro"); |
| | | String city = obj.getString("city"); |
| | | return String.format("%s %s", region, city); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | log.error("获取地理位置异常 {}", ip); |
| | | } |
| | | } |
| | | return address; |
| | | } |
| | | } |