zoukankan      html  css  js  c++  java
  • 工具类获取地址

    package com.jyc.common.utils.ip;

    import com.jyc.common.utils.StringUtils;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import com.alibaba.fastjson.JSONObject;
    import com.jyc.common.config.RuoYiConfig;
    import com.jyc.common.constant.Constants;
    import com.jyc.common.utils.http.HttpUtils;

    /**
    * 获取地址类
    *
    * @author jianyongchao
    */
    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;
    }
    }
  • 相关阅读:
    Unix&Linux下常见的性能分析工具介绍
    理解Load Average做好压力测试
    cron 的配置和说明
    原生js模仿下拉刷新功能
    webpack初步了解
    数组的迭代方法
    webpack4
    反思面向对象
    C和lua的互相调用
    对Zookeeper的一些分析
  • 原文地址:https://www.cnblogs.com/qq3245792286/p/15470353.html
Copyright © 2011-2022 走看看