接口说明
1. 请求接口(GET):
http://ip.taobao.com/service/getIpInfo.php?ip=[ip地址字串]
2. 响应信息:
(json格式的)国家 、省(自治区或直辖市)、市(县)、运营商
3. 返回数据格式:
{"code":0,"data":{"ip":"210.75.225.254","country":"\u4e2d\u56fd","area":"\u534e\u5317",
"region":"\u5317\u4eac\u5e02","city":"\u5317\u4eac\u5e02","county":"","isp":"\u7535\u4fe1",
"country_id":"86","area_id":"100000","region_id":"110000","city_id":"110000",
"county_id":"-1","isp_id":"100017"}}
其中code的值的含义为,0:成功,1:失败。
调用方法:利用json 解析返回的结果
可能要导入的包有:ezmorph-1.0.6.jar json-lib-2.2.3-jdk15.jar
public static void main(String[] args) {
System.out.println(getIpArea("183.62.35.197"));
}
public static String getIpArea(String ip){
String path = "http://ip.taobao.com/service/getIpInfo.php?ip="+ip;
String inputline="";
String info="";
try {
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setReadTimeout(10*1000);
conn.setRequestMethod("GET");
InputStreamReader inStream = new InputStreamReader(conn.getInputStream(),"UTF-8");
BufferedReader buffer=new BufferedReader(inStream);
while((inputline=buffer.readLine())!=null){
info+=inputline;
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
JSONObject jsonob = JSONObject.fromObject((JSONObject.fromObject(info).getString("data")));
String city = StringEscapeUtils.escapeSql(jsonob.getString("city"));
return city;
}