IPUtil

package com.mz.base.util;

import java.text.ParseException;

import org.apache.commons.lang3.StringUtils;
import org.json.JSONObject;

/**
* IP帮助类
* @author zejun
*/
public class IPUtil {
/**
* IP地址转详细地址
* @param ip
* @param apiName 取值范围:taobao、
* @return
* country 国家
* area 区域,片区
* province 省份
* city 城市
* county 区县
* isp 网络服务商
*/
public static JSONObject ipToLocation(String ip, String apiName){
if(StringUtils.isEmpty(apiName)){
apiName = "taobao";
}
JSONObject json = new JSONObject();

if("taobao".equals(apiName)){
try {
String url = "http://ip.taobao.com/service/getIpInfo.php?ip="+ip;
String result = UrlUtils.readFromURL(url, "UTF-8", 1024, 10000, null);
JSONObject resultJson = new JSONObject(result);
resultJson = resultJson.getJSONObject("data");

json.put("code", 1);
json.put("country", JSONUtil.getString(resultJson, "country"));
json.put("area", JSONUtil.getString(resultJson, "area"));
json.put("province", JSONUtil.getString(resultJson, "region"));
json.put("city", JSONUtil.getString(resultJson, "city"));
json.put("county", JSONUtil.getString(resultJson, "county"));
json.put("isp", JSONUtil.getString(resultJson, "isp"));
} catch (ParseException e) {
e.printStackTrace();
}
}else if("sina".equals(apiName)){
try {
String url = "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip="+ip;
String result = UrlUtils.readFromURL(url, "UTF-8", 1024, 10000, null);
JSONObject resultJson = new JSONObject(result);

json.put("code", 1);
json.put("country", JSONUtil.getString(resultJson, "country"));
json.put("province", JSONUtil.getString(resultJson, "province"));
json.put("city", JSONUtil.getString(resultJson, "city"));
json.put("county", JSONUtil.getString(resultJson, "district"));
json.put("isp", JSONUtil.getString(resultJson, "isp"));
} catch (ParseException e) {
e.printStackTrace();
}
}
return json;
}

public static void main(String[] args) {
/*String url = "http://ip.ws.126.net/ipquery?ip=169.235.24.133";
System.out.println(UrlUtils.readFromURL(url, "GBK", 1024, 10000, null));*/
System.out.println(IPUtil.ipToLocation("169.235.24.133", null));
}

}

posted @ 2017-09-17 17:09  王玉峰1102  阅读(341)  评论(0编辑  收藏  举报