packagecom;importnet.sf.json.JSONObject;importjava.io.ByteArrayOutputStream;importjava.io.IOException;importjava.io.InputStream;importjava.net.HttpURLConnection;importjava.net.MalformedURLException;importjava.net.URL;
public classGetAddressByIp {public static voidmain(String[] args) {
String resout= "";try{
String str= getJsonContent("http://ip.taobao.com/service/getIpInfo.php?ip="+"162.128.125.6");
System.out.println(str);
JSONObject obj=JSONObject.fromObject(str);
JSONObject obj2= (JSONObject) obj.get("data");
String code= (String) obj.get("code");if(code.equals("0")){
resout= obj2.get("country")+"--" +obj2.get("area")+"--" +obj2.get("city")+"--" +obj2.get("isp");
}else{
resout= "IP地址有误";
}
}catch(Exception e){
e.printStackTrace();
resout= "获取IP地址异常:"+e.getMessage();
}
System.out.println("result: " +resout);
}public staticString getJsonContent(String urlStr) {try{//获取HttpURLConnection连接对象
URL url = newURL(urlStr);
HttpURLConnection httpConn=(HttpURLConnection) url.openConnection();//设置连接属性
httpConn.setConnectTimeout(3000);
httpConn.setDoInput(true);
httpConn.setRequestMethod("GET");//获取相应码
int respCode =httpConn.getResponseCode();if (respCode == 200)
{returnConvertStream2Json(httpConn.getInputStream());
}
}catch(MalformedURLException e)
{
e.printStackTrace();
}catch(IOException e)
{
e.printStackTrace();
}return "";
}private staticString ConvertStream2Json(InputStream inputStream) {
String jsonStr= "";//ByteArrayOutputStream相当于内存输出流
ByteArrayOutputStream out = newByteArrayOutputStream();byte[] buffer = new byte[1024];int len = 0;//将输入流转移到内存输出流中
try{while ((len = inputStream.read(buffer, 0, buffer.length)) != -1)
{
out.write(buffer,0, len);
}//将内存流转换为字符串
jsonStr = newString(out.toByteArray());
}catch(IOException e)
{//TODO Auto-generated catch block
e.printStackTrace();
}returnjsonStr;
}
}