更换IP地址查询接口
This commit is contained in:
		| @@ -49,7 +49,7 @@ public class HttpUtils | ||||
|             connection.setRequestProperty("connection", "Keep-Alive"); | ||||
|             connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); | ||||
|             connection.connect(); | ||||
|             in = new BufferedReader(new InputStreamReader(connection.getInputStream())); | ||||
|             in = new BufferedReader(new InputStreamReader(connection.getInputStream(), "GBK")); | ||||
|             String line; | ||||
|             while ((line = in.readLine()) != null) | ||||
|             { | ||||
|   | ||||
| @@ -16,11 +16,15 @@ public class AddressUtils | ||||
| { | ||||
|     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) | ||||
|     { | ||||
|         String address = "XX XX"; | ||||
|         String address = UNKNOWN; | ||||
|         // 内网不查询 | ||||
|         if (IpUtils.internalIp(ip)) | ||||
|         { | ||||
| @@ -28,17 +32,23 @@ public class AddressUtils | ||||
|         } | ||||
|         if (RuoYiConfig.isAddressEnabled()) | ||||
|         { | ||||
|             String rspStr = HttpUtils.sendPost(IP_URL, "ip=" + ip); | ||||
|             if (StringUtils.isEmpty(rspStr)) | ||||
|             try | ||||
|             { | ||||
|                 String rspStr = HttpUtils.sendGet(IP_URL, "ip=" + ip + "&json=true"); | ||||
|                 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; | ||||
|             } | ||||
|             JSONObject obj = JSONObject.parseObject(rspStr); | ||||
|             JSONObject data = obj.getObject("data", JSONObject.class); | ||||
|             String region = data.getString("region"); | ||||
|             String city = data.getString("city"); | ||||
|             address = region + " " + city; | ||||
|         } | ||||
|         return address; | ||||
|     } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user