以获取新浪IP查询接口为例子:
//远程获取当前ip所处的城市
String areaStr = "";
URL url = new URL("http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.connect();
InputStream inputStream = connection.getInputStream();
//对应的字符编码转换
Reader reader = new InputStreamReader(inputStream, "UTF-8");
BufferedReader bufferedReader = new BufferedReader(reader);
String str = null;
StringBuffer sb = new StringBuffer();
while ((str = bufferedReader.readLine()) != null) {
sb.append(str);
}
reader.close();
connection.disconnect();
areaStr = sb.toString();
JSONObject object = JSONObject.fromObject(areaStr);
if(object !=null){
areaStr = object.getString("country")+object.getString("province")+object.getString("city");
}
json解析处理操作,需引入以下包,可更换版本:
commons-beanutils-1.7.0.jar
commons-collections-3.1.jar
commons-lang-2.6.jar
commons-logging-1.0.3.jar
ezmorph-1.0.4.jar
json-lib-2.2.3-jdk15.jar