话不多说,直接上代码,记得一键三连哦~
AddressUtil.java
/**
* 获取地址工具类
*
* @author xiegege
**/
public class AddressUtil {
/**
* 根据IP地址获取地理位置
* @param ip ip地址
* @return 地址
*/
public static String getAddressByIP(String ip) {
if (StringUtils.isBlank(ip)) {
return "";
}
if ("127.0.0.1".equals(ip)) {
return "局域网,无法获取位置";
}
String url = "https://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php?resource_id=6006&format=json&query=" + ip;
HttpResponse res = HttpRequest.get(url).execute();
if (200 != res.getStatus()) {
return "获取位置失败";
} else {
JSONObject resJson = JSONObject.parseObject(res.body());
JSONArray resArr = JSONArray.parseArray(resJson.getString("data"));
resJson = JSONObject.parseObject("" + resArr.get(0));
return resJson.getString("location");
}
}
}