From f3d0bf6c2697d8a79059bbba5eb9af7e92d7208d Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: 星期三, 13 五月 2020 21:11:14 +0800
Subject: [PATCH] 更换IP地址查询接口
---
ruoyi/src/main/java/com/ruoyi/common/utils/ip/AddressUtils.java | 30 ++++++++++++++++++++----------
ruoyi/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java | 2 +-
2 files changed, 21 insertions(+), 11 deletions(-)
diff --git a/ruoyi/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java b/ruoyi/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java
index 323dbc1..4700436 100644
--- a/ruoyi/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java
+++ b/ruoyi/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java
@@ -49,7 +49,7 @@
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)
{
diff --git a/ruoyi/src/main/java/com/ruoyi/common/utils/ip/AddressUtils.java b/ruoyi/src/main/java/com/ruoyi/common/utils/ip/AddressUtils.java
index 2709f45..8402a0d 100644
--- a/ruoyi/src/main/java/com/ruoyi/common/utils/ip/AddressUtils.java
+++ b/ruoyi/src/main/java/com/ruoyi/common/utils/ip/AddressUtils.java
@@ -16,11 +16,15 @@
{
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 @@
}
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;
}
--
Gitblit v1.9.3