首页 > 其他分享 >根据ip查询归属地工具类

根据ip查询归属地工具类

时间:2023-02-03 15:33:18浏览次数:40  
标签:String getString ip 归属 StrUtil 查询 jsonObject msg

public static String getAddrByIp(String ip) {
if (StrUtil.isBlank(ip)) {
return null;
}
String url = "https://api01.aliyun.venuscn.com/ip?ip="+ip;
String rsp = HttpRequest.get(url)
.header("Authorization", "此处应填入APPCODE")
.timeout(5000)
.execute()
.body();


JSONObject jsonObject = JSON.parseObject(rsp);
if (jsonObject != null
&& StrUtil.equals("200", jsonObject.getString("ret"))
&& jsonObject.getJSONObject("data") != null) {
String msg = "";
String country = jsonObject.getJSONObject("data").getString("country");   //国家
String prov = jsonObject.getJSONObject("data").getString("region");      //省份
String city = jsonObject.getJSONObject("data").getString("city");       //城市
String district = jsonObject.getJSONObject("data").getString("district");  //区域

if (StrUtil.isNotBlank(country)) {
msg = country;
}
if (StrUtil.isNotBlank(prov)) {
msg = msg +" "+prov;
}

if (StrUtil.isNotBlank(city) && !StrUtil.equals(prov, city)) {
msg = msg +" "+city;
}
if (StrUtil.isNotBlank(district)) {
msg = msg +" "+district;
}

if (StrUtil.isNotBlank(msg)) {
return msg.trim();
}
}

return null;
}

标签:String,getString,ip,归属,StrUtil,查询,jsonObject,msg
From: https://www.cnblogs.com/Gengzh/p/17089430.html

相关文章

  • JavaScript函数详解:匿名函数、具名函数、函数传参、不定参、返回值、JS预解析机制
     JavaScript函数详解:匿名函数、具名函数、函数传参、不定参、返回值、JS预解析机制  1.具名函数 定义: 调用:方式1:方法名();可以多次调用  ......
  • linux查询磁盘是否做raid
    1、查看是否安装mdadm包rpm-qa|grepmdadm2、查看磁盘是否做了raidmdadm-E/dev/sd[bcde]1#可以忽略/dev/sda,一般都是用作系统盘mdadm:Nomdsuperblockdetectedon/d......
  • Apipost预执行脚本使用教程
    提示:预执行脚本是一个请求发送前执行的脚本。预执行脚本的作用预执行脚本可以完成以下作用:编写JS函数等实现复杂计算;变量的打印定义、获取、删除、清空环境变量定义、获取......
  • Apipost产品介绍
    Apipost主要分为4个大模块,贯穿一个API从设计到测试完成上线的研发全周期:API设计:用于在接口还没开发完成时,预定义接口请求参数和响应期望(Mock),并自动生成MockURL,让前端......
  • C++ 哈希表查询_进入哈希函数结界的世界
    1.前言哈希表或称为散列表,是一种常见的、使用频率非常高的数据存储方案。哈希表属于抽象数据结构,需要开发者按哈希表数据结构的存储要求进行API定制,对于大部分高级语言......
  • ES(Elasticsearch)的Script脚本基本使用
       语法"script":{"lang":"","source":"","params":{...}} lang:指定编写脚本的语言。默认为painless.source:source为脚本本身para......
  • Apipost预执行脚本使用教程
     提示:预执行脚本是一个请求发送前执行的脚本。预执行脚本的作用预执行脚本可以完成以下作用:编写JS函数等实现复杂计算;变量的打印定义、获取、删除、清空环境......
  • 【五期李伟平】CCF-A(ICML'21)Privacy-Preserving Feature Selection with Secure Multi
    Li,X.,R.Dowsley,andMDCock."Privacy-PreservingFeatureSelectionwithSecureMultipartyComputation.",10.48550/arXiv.2102.03517.2021.  当前PPML......
  • 最完美WIN10_Pro_22H2.19045.2546软件选装纯净版VIP39.0
    【系统简介】=============================================================1.本次更新母盘来WIN10_Pro_22H2.19045.2546。进一步优化调整。2.此版本精简量不大,满足各大平......
  • 笔记:海量数据的查询方法
    概述:每年大约有几千万近一亿的业务数据量,如何提高查询性能。具体方案:在表结构初始化阶段时,需要添加查询条件的索引;并且可以使用uuid主键和数字主键的联合业务主键,根据......