The data returned by Taobao is:
{"code":0,"data":{"country":"/u4e2d/u56fd","country_id":"CN","area":"/u534e/u4e1c","area_id":"300000", "region":"/u5c71/u4e1c/u7701","region_id":" 370000","city":"/u4e1c/u8425/u5e02","city_id":"370500","county":"","county_id":"-1","isp":"/u8054/u901a" ,"isp_id":"100026","ip":"60.214.183.158"}}
usage:
The code copy is as follows:
String arr1 = GetAddressByIp.GetAddressByIp("120.192.182.1");
System.out.println(arr1);
Please see the code for details
The code copy is as follows:
package getAddressByIp;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import net.sf.json.JSONObject;
public class GetAddressByIp
{
/**
*
* @param IP
* @return
*/
public static String GetAddressByIp(String IP){
String resout = "";
try{
String str = getJsonContent("http://ip.taobao.com/service/getIpInfo.php?ip="+IP);
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 = "The IP address is incorrect";
}
}catch(Exception e){
e.printStackTrace();
resolve = "Get IP address exception: "+e.getMessage();
}
return reply;
}
public static String getJsonContent(String urlStr)
{
try
{// Get the HttpURLConnection connection object
URL url = new URL(urlStr);
HttpURLConnection httpConn = (HttpURLConnection) url
.openConnection();
// Set connection properties
httpConn.setConnectTimeout(3000);
httpConn.setDoInput(true);
httpConn.setRequestMethod("GET");
// Get the corresponding code
int respCode = httpConn.getResponseCode();
if (respCode == 200)
{
return ConvertStream2Json(httpConn.getInputStream());
}
}
catch (MalformedURLException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
return "";
}
private static String ConvertStream2Json(InputStream inputStream)
{
String jsonStr = "";
// ByteArrayOutputStream is equivalent to memory output stream
ByteArrayOutputStream out = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
// Transfer the input stream to the memory output stream
try
{
while ((len = inputStream.read(buffer, 0, buffer.length)) != -1)
{
out.write(buffer, 0, len);
}
// Convert memory stream to string
jsonStr = new String(out.toByteArray());
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
return jsonStr;
}
}