java实现根据ip定位地理位置(调用百度接口)

1545年前 (2021-08-25)SpringBoot2429

这里用的是若依的springboot框架,框架里自带的获取地理位置接口是调用的淘宝的,已经不可用。于是找到哦百度接口实现。

调用百度接口:

http://api.map.baidu.com/location/ip?ak=您的AK&ip=您的IP&coor=bd09ll
ak需要到百度开放平台自己创建应用申请。
public class AddressUtils
{
    private static final Logger log = LoggerFactory.getLogger(AddressUtils.class);
    public static final String IP_URL = "http://api.map.baidu.com/location/ip?ak=xQ3jYoPgpIsGxFZ8vtWGbtsY07**8&coor=bd09ll";
    public static String getRealAddressByIP(String ip)
    {
        String address = "XX XX";
        // 内网不查询
        if (IpUtils.internalIp(ip))
        {
            return "内网IP";
        }
        String rspStr = HttpUtils.sendPost(IP_URL, "ip=" + ip);
        if (StringUtils.isEmpty(rspStr))
        {
            log.error("获取地理位置异常 {}", ip);
            return address;
        }
        JSONObject obj;
        try
        {
            obj = JSON.unmarshal(rspStr, JSONObject.class);
            JSONObject content = obj.getObj("content");
//                JSONObject address_detail = content.getObj("address_detail");
            String addresses = content.getStr("address");
            address = addresses ;
        }
        catch (Exception e)
        {
            log.error("获取地理位置异常 {}", ip);
        }
        return address;
    }
    public static void main(String[] args) {
        System.out.println(getRealAddressByIP("61.158.148.101"));
    }
 }


本文原创,转载必追究版权。

分享给朋友:

相关文章

每次开机checking file system on d

 解决方案:点击左下角(开始)- (运行)输入(CMD)回车 - 进入CMD界面- 输入(d:)回车 - 输入(chkdsk /f)中间有空格。回车,出现提示按Y键,完成后,重启一次会检...

plsql 中number类型字段 取消科学计数法显示

 PL/SQL DEVELOPER中禁用科学计数法:Tools - Prefrence - SQL Window - 选择:"Number fields to_char&quo...

org.tigris.subversion.javahl.ClientException:Attempted to lock an already-locked dir

 svn更新或提交时候报错:org.tigris.subversion.javahl.ClientException:Attempted to lock an already-locke...

freeMarker 截取字符串(操作字符串函数 )

<#if c.proSummary!?length gt 25>  <!-- 如果长度 >25 截取25个字-->    ...

MyEclipse 报错:'Building workspace' has encountered a problem解决方法

MyEclipse 报错:'Building workspace' has encountered a problem解决方法

          每次MyEclipse运行 工作空间报错如下:'Building workspac...

js/jquery 日历控件及实例下载

js/jquery 日历控件及实例下载

实现日历控件效果:页面:<link href="${base}/resource/${profile.path}/css/lhgcalendar.css" rel="...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。