java呼叫淘寶api聯網查詢ip歸屬地

NO IMAGE

淘寶返回的資料為:
{“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″}}

用法:
複製程式碼 程式碼如下:
String arr1 = GetAddressByIp.GetAddressByIp(“120.192.182.1”);
System.out.println(arr1);

詳細請看程式碼

複製程式碼 程式碼如下:
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 =  “IP地址有誤”;
   }
  }catch(Exception e){

   e.printStackTrace();
    resout = “獲取IP地址異常:” e.getMessage();
  }
  return resout;

 }

    public static String getJsonContent(String urlStr)
    {
        try
        {// 獲取HttpURLConnection連線物件
            URL url = new URL(urlStr);
            HttpURLConnection httpConn = (HttpURLConnection) url
                    .openConnection();
            // 設定連線屬性
            httpConn.setConnectTimeout(3000);
            httpConn.setDoInput(true);
            httpConn.setRequestMethod(“GET”);
            // 獲取相應碼
            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相當於記憶體輸出流
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        byte[] buffer = new byte[1024];
        int len = 0;
        // 將輸入流轉移到記憶體輸出流中
        try
        {
            while ((len = inputStream.read(buffer, 0, buffer.length)) != -1)
            {
                out.write(buffer, 0, len);
            }
            // 將記憶體流轉換為字串
            jsonStr = new String(out.toByteArray());
        }
        catch (IOException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return jsonStr;
    }
}

您可能感興趣的文章:

java mysql實現商品搶購功能Java抽獎搶購演算法java實現京東秒殺功能分享 京東秒殺軟體Java實現仿淘寶滑動驗證碼研究程式碼詳解java使用淘寶API讀寫json實現手機歸屬地查詢功能程式碼Java實現淘寶秒殺聚划算搶購自動提醒原始碼