AddressUtils.java 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package com.xtd.common.utils.ip;
  2. import org.slf4j.Logger;
  3. import org.slf4j.LoggerFactory;
  4. import com.alibaba.fastjson.JSONObject;
  5. import com.xtd.common.utils.StringUtils;
  6. import com.xtd.common.utils.http.HttpUtils;
  7. import com.xtd.framework.config.RuoYiConfig;
  8. /**
  9. * 获取地址类
  10. *
  11. * @author xtd
  12. */
  13. public class AddressUtils
  14. {
  15. private static final Logger log = LoggerFactory.getLogger(AddressUtils.class);
  16. public static final String IP_URL = "http://ip.taobao.com/service/getIpInfo.php";
  17. public static String getRealAddressByIP(String ip)
  18. {
  19. String address = "XX XX";
  20. // 内网不查询
  21. if (IpUtils.internalIp(ip))
  22. {
  23. return "内网IP";
  24. }
  25. if (RuoYiConfig.isAddressEnabled())
  26. {
  27. String rspStr = HttpUtils.sendPost(IP_URL, "ip=" + ip);
  28. if (StringUtils.isEmpty(rspStr))
  29. {
  30. log.error("获取地理位置异常 {}", ip);
  31. return address;
  32. }
  33. JSONObject obj = JSONObject.parseObject(rspStr);
  34. JSONObject data = obj.getObject("data", JSONObject.class);
  35. String region = data.getString("region");
  36. String city = data.getString("city");
  37. address = region + " " + city;
  38. }
  39. return address;
  40. }
  41. }