您的位置:首页 > 理论基础 > 计算机网络

通过IP查看地址

2017-08-13 00:15 253 查看
接口:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=

反回的JSON字符串,所以需要JSONUtil工具类:

需要的jar包:jackson-annotations-2.4.2.jar,jackson-core-2.4.2.jar,jackson-databind-2.3.1.jar,只写了JSON转map和javabean、list转json。

public class JSONUtil {
public static ObjectMapper objectMapper = new ObjectMapper();

/**
* javaBean,list,array convert to json string
* @param obj
* @return
* @throws Exception
*/
public static String obj2json(Object obj) throws Exception {
return objectMapper.writeValueAsString(obj);
}

public static Map<String, String> json2map(
String jsonStr) throws Exception {
return objectMapper.readValue(jsonStr, Map.class);
}
}


实现:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.Map;

/**
* <p>类说明:</p>
* @author 作者:孙硕
* @version 时间:2017年8月12日 下午11:27:31
*/
public class FromIpGetAddrDemo {

public static void main(String[] args) throws Exception {
String result = getAddrByIP("175.190.0.12");
Map<String, String> map = JSONUtil.json2map(result);
String country = map.get("country");
String province = map.get("province");
String city = map.get("city");
System.out.println(country + "-" + province + "-" + city);
}

public static String getAddrByIP(String ipstr) {
StringBuffer result = new StringBuffer();
try {
URL url = new URL(
"http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip="
+ ipstr);
URLConnection conn = url.openConnection();
BufferedReader reader = new BufferedReader(
new InputStreamReader(conn.getInputStream(), "utf-8"));
String line = null;
while ((line = reader.readLine()) != null) {
result.append(line);
}
reader.close();

} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return result.toString();
}
}


作为参考使用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  json 网络编程