Java中根据ip获取地址方法汇总

根据ip获取地址方法汇总

  1. 使用其他厂商提供的定位服务
  2. 使用本地数据库存储,在本地查找
  3. 使用公开的外部接口

一、使用其他厂商提供的定位服务

腾讯定位服务网站:

腾讯位置服务 - 立足生态,连接未来

使用步骤大致如下:

  • 申请key

  • 导入包

  • 使用包中提供的方法

优点:由其他厂商提供维护,ip定位的精确度、时效性可以得到保证

缺点:需要申请key,部分场景下会无法使用;部分厂商提供的服务有使用次数限制

二、使用本地数据库存储,在本地查找

ip2region:

Tags · lionsoul2014/ip2region

使用步骤大致如下:

  • 导入包

  • 下载本地db文件

  • 使用包中提供的方法

优点:本地查询速度快,不存在网络问题

缺点:本地db文件大,某些场景下不使用

三、使用公开的外部接口

太平洋网络ip地址查询:

太平洋网络IP地址查询Web接口

使用步骤大致如下:

  • 使用request获取ip地址

  • 使用RestTemplate或WebClient等工具发送请求并携带ip地址

  • 获取返回值

示例代码:

String getAddress(String ip) {
    RestTemplate restTemplate = new RestTemplate();
    // 发送GET请求
    String url = "https://whois.pconline.com.cn/ip.jsp?ip=";
    if (StringUtils.isNotEmpty(ip)) {
        url = url + ip;
    }
    ResponseEntity response = restTemplate.exchange(url, HttpMethod.GET, null, String.class);
    return response.getBody();
}

优点:无须导入外部包、下载外部文件等,轻量使用

缺点:接口安全性与可靠性无法得到保证

你可能感兴趣的:(java,java,ip)