返回顶部

根据ip查询归属地工具类

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;
}
posted @ 2023-02-03 15:24  Gengzh  阅读(224)  评论(0)    收藏  举报
Live2D